aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Logging/Log.cpp
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2013-01-23 17:48:17 +0100
committerMachiavelli <machiavelli.trinity@gmail.com>2013-01-23 17:48:17 +0100
commit39c2d892f3e696526b2373fb6990f3a93c2bd9ec (patch)
tree65238c8ebab2eb9866927f5ebbb59111ca10b912 /src/server/shared/Logging/Log.cpp
parent5e367c910a0bdcad9dbb4881c9bb00be05181292 (diff)
Core/Log: Allow configuring a maximum file size for a log file. If the file size is about to be exceeded, the core will create a new file titled <oldname>_.log and start outputting there.
Diffstat (limited to 'src/server/shared/Logging/Log.cpp')
-rw-r--r--src/server/shared/Logging/Log.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index 96c72b5eb74..73b75a2a853 100644
--- a/src/server/shared/Logging/Log.cpp
+++ b/src/server/shared/Logging/Log.cpp
@@ -145,8 +145,15 @@ void Log::CreateAppenderFromConfig(const char* name)
filename += m_logsTimestamp;
}
+ uint64 maxFileSize = 0;
+ if (++iter != tokens.end())
+ {
+ char const* c = *iter;
+ maxFileSize = atoi(c);
+ }
+
uint8 id = NextAppenderId();
- appenders[id] = new AppenderFile(id, name, level, filename.c_str(), m_logsDir.c_str(), mode.c_str(), flags);
+ appenders[id] = new AppenderFile(id, name, level, filename.c_str(), m_logsDir.c_str(), mode.c_str(), flags, maxFileSize);
//fprintf(stdout, "Log::CreateAppenderFromConfig: Created Appender %s (%u), Type FILE, Mask %u, File %s, Mode %s\n", name, id, level, filename.c_str(), mode.c_str()); // DEBUG - RemoveMe
break;
}