Core/Logging: Fixed a possible crash with dynamic log file names
This commit is contained in:
@@ -139,7 +139,7 @@ class Appender
|
||||
static const char* getLogFilterTypeString(LogFilterType type);
|
||||
|
||||
private:
|
||||
virtual void _write(LogMessage& /*message*/) {};
|
||||
virtual void _write(LogMessage& /*message*/) = 0;
|
||||
|
||||
uint8 id;
|
||||
std::string name;
|
||||
|
||||
@@ -26,7 +26,7 @@ AppenderFile::AppenderFile(uint8 id, std::string const& name, LogLevel level, co
|
||||
{
|
||||
dynamicName = std::string::npos != filename.find("%u");
|
||||
backup = _flags & APPENDER_FLAGS_MAKE_FILE_BACKUP;
|
||||
|
||||
|
||||
logfile = !dynamicName ? OpenFile(_filename, _mode, backup) : NULL;
|
||||
}
|
||||
|
||||
@@ -54,7 +54,10 @@ void AppenderFile::_write(LogMessage& message)
|
||||
fflush(logfile);
|
||||
|
||||
if (dynamicName)
|
||||
{
|
||||
fclose(logfile);
|
||||
logfile = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user