@@ -46,7 +46,7 @@ LoggerEvent::~LoggerEvent() {
4646
4747Logger::Logger () : EventDispatcher() {
4848 logToFile = false ;
49- logFile = fopen (" poly.log" , " w" );
49+ // logFile = fopen("poly.log", "w");
5050}
5151
5252Logger::~Logger () {
@@ -69,9 +69,19 @@ void Logger::log(const char *format, ...) {
6969 va_end (args);
7070
7171 if (Logger::getInstance ()->getLogToFile ()){
72- va_start (args, format);
73- vfprintf (Logger::getInstance ()->getLogFile (), format, args);
74- va_end (args);
72+ if (Logger::getInstance ()->getLogFile ()){
73+ va_start (args, format);
74+ vfprintf (Logger::getInstance ()->getLogFile (), format, args);
75+ va_end (args);
76+ } else {
77+ time_t t = time (NULL );
78+ char mbstr[100 ];
79+ if (strftime (mbstr, sizeof (mbstr), " %y_%m_%d.log" , localtime (&t))) {
80+ Logger::getInstance ()->setLogFile (fopen ((const char *)mbstr, " w" ));
81+ } else {
82+ Logger::getInstance ()->setLogFile (fopen (" poly.log" , " w" ));
83+ }
84+ }
7585 }
7686
7787#ifdef _MSC_VER
@@ -101,8 +111,6 @@ void Logger::setLogToFile(bool val){
101111 time_t t = time (NULL );
102112 char mbstr[100 ];
103113 if (strftime (mbstr, sizeof (mbstr), " %y_%m_%d.log" , localtime (&t))) {
104- // if (logFile)
105- // fclose(logFile);
106114 logFile = fopen ((const char *)mbstr, " w" );
107115 } else {
108116 logFile = fopen (" poly.log" , " w" );
@@ -112,6 +120,10 @@ void Logger::setLogToFile(bool val){
112120 logToFile = val;
113121}
114122
123+ void Logger::setLogFile (FILE *f){
124+ logFile = f;
125+ }
126+
115127bool Logger::getLogToFile (){
116128 return logToFile;
117129}
@@ -126,6 +138,5 @@ Logger *Logger::getInstance(){
126138 }
127139
128140 overrideInstance = new Logger;
129- // Logger::log("Creating new logger instance...\n");
130141 return overrideInstance;
131142}
0 commit comments