@@ -27,6 +27,7 @@ struct setting {
27
27
std::string log_file_dir = " ./" ;
28
28
std::string log_level = " INFO" ;
29
29
bool enable_logging = false ;
30
+ bool standing_logfile = false ;
30
31
int profile_loops = 1 ;
31
32
bool line_numbers = false ;
32
33
bool copyright = true ;
@@ -200,6 +201,10 @@ void readArgs(int argc, char* argv[])
200
201
settings.enable_logging = true ;
201
202
continue ;
202
203
}
204
+ if (argv[i][1 ] == ' e' && argv[i][2 ] == ' s' ) {
205
+ settings.standing_logfile = true ;
206
+ continue ;
207
+ }
203
208
if (argv[i][1 ]) {
204
209
fprintf (stderr, " WARNING: unknown option '-%s'\n " , argv[i] + 1 );
205
210
}
@@ -239,6 +244,7 @@ void printError()
239
244
" -eh<name> Log file name prefix\n "
240
245
" -ed<name> Log file directory\n "
241
246
" -el<name> Log level (DEBUG, INFO, WARNING, ERROR, ERROR_F, FATAL)\n "
247
+ " -es Standing log file name, without date"
242
248
);
243
249
};
244
250
@@ -319,7 +325,7 @@ int workIt()
319
325
printError ();
320
326
break ;
321
327
}
322
- } catch (Exception e) {
328
+ } catch (Exception & e) {
323
329
LOG (ERROR) << e.what ();
324
330
fprintf (stderr, " %s" , e.what ());
325
331
return -1 ;
@@ -336,7 +342,7 @@ int main(int argc, char* argv[])
336
342
std::unique_ptr<LogWorker> log_worker;
337
343
if (settings.enable_logging ) {
338
344
log_worker = std::move (g3::LogWorker::createLogWorker ());
339
- auto handle = log_worker->addSink (std2::make_unique<LogFileSink>(settings.log_file_prefix , settings.log_file_dir , false ), &LogFileSink::fileWrite);
345
+ auto handle = log_worker->addSink (std2::make_unique<LogFileSink>(settings.log_file_prefix , settings.log_file_dir , false , settings. standing_logfile ), &LogFileSink::fileWrite);
340
346
g3::only_change_at_initialization::setLogLevel (settings.log_level );
341
347
g3::initializeLogging (log_worker.get ());
342
348
}
0 commit comments