| 148 | } |
| 149 | |
| 150 | std::string RgaSharedUtils::ConstructLogFileName(const std::string& base_file_name) |
| 151 | { |
| 152 | struct tm tt{}; |
| 153 | osFilePath log_file_name; |
| 154 | bool status = !base_file_name.empty(); |
| 155 | if (status) |
| 156 | { |
| 157 | gtString base_file_name_gtstr; |
| 158 | base_file_name_gtstr << base_file_name.c_str(); |
| 159 | log_file_name = base_file_name_gtstr; |
| 160 | } |
| 161 | |
| 162 | // Lambda extending numbers < 10 with leading 0. |
| 163 | auto zero_ext = [](int n) {std::string n_str = std::to_string(n); return (n < 10 ? std::string("0") + n_str : n_str); }; |
| 164 | status = status && CurrentTime(tt); |
| 165 | if (status) |
| 166 | { |
| 167 | // Append current date/time to the log file name. |
| 168 | std::stringstream suffix; |
| 169 | suffix << "-" << std::to_string(tt.tm_year + 1900) << zero_ext(tt.tm_mon + 1) << zero_ext(tt.tm_mday) << |
| 170 | "-" << zero_ext(tt.tm_hour) << zero_ext(tt.tm_min) << zero_ext(tt.tm_sec); |
| 171 | |
| 172 | gtString filename_gtstr; |
| 173 | log_file_name.getFileName(filename_gtstr); |
| 174 | std::string fileName = filename_gtstr.asASCIICharArray(); |
| 175 | filename_gtstr.fromASCIIString((fileName + suffix.str()).c_str()); |
| 176 | log_file_name.setFileName(filename_gtstr); |
| 177 | } |
| 178 | |
| 179 | return (status ? log_file_name.asString().asASCIICharArray() : ""); |
| 180 | } |
| 181 | |
| 182 | bool RgaSharedUtils::InitLogFile(const std::string& dir, const std::string& base_file_name, unsigned int oldFilesDaysNum) |
| 183 | { |
nothing calls this directly
no test coverage detected