aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Logging
diff options
context:
space:
mode:
authorjoschiwald <joschiwald@online.de>2012-08-04 02:55:11 +0100
committerNay <dnpd.dd@gmail.com>2012-08-04 02:55:11 +0100
commitaf92a36e889d5fc1a7575300e7652d111ccf87d9 (patch)
treee5b15ee441f60a1b083bae9a27646dc46164c694 /src/server/shared/Logging
parentd1b10082a21398b58cce3615efc0b89d303ba5f1 (diff)
Core/Logging: Use config LogsDir to save log files (re-added)
Diffstat (limited to 'src/server/shared/Logging')
-rw-r--r--src/server/shared/Logging/AppenderFile.cpp5
-rw-r--r--src/server/shared/Logging/AppenderFile.h3
-rwxr-xr-xsrc/server/shared/Logging/Log.cpp2
3 files changed, 6 insertions, 4 deletions
diff --git a/src/server/shared/Logging/AppenderFile.cpp b/src/server/shared/Logging/AppenderFile.cpp
index 93c02913aeb..cb875240c46 100644
--- a/src/server/shared/Logging/AppenderFile.cpp
+++ b/src/server/shared/Logging/AppenderFile.cpp
@@ -18,9 +18,10 @@
#include "AppenderFile.h"
#include "Common.h"
-AppenderFile::AppenderFile(uint8 id, std::string const& name, LogLevel level, const char* _filename, const char* _mode, bool _backup)
+AppenderFile::AppenderFile(uint8 id, std::string const& name, LogLevel level, const char* _filename, const char* _logDir, const char* _mode, bool _backup)
: Appender(id, name, APPENDER_FILE, level)
, filename(_filename)
+ , logDir(_logDir)
, mode(_mode)
, backup(_backup)
{
@@ -67,5 +68,5 @@ FILE* AppenderFile::OpenFile(std::string const &filename, std::string const &mod
newName.append(LogMessage::getTimeStr(time(NULL)));
rename(filename.c_str(), newName.c_str()); // no error handling... if we couldn't make a backup, just ignore
}
- return fopen(filename.c_str(), mode.c_str());
+ return fopen((logDir + filename).c_str(), mode.c_str());
}
diff --git a/src/server/shared/Logging/AppenderFile.h b/src/server/shared/Logging/AppenderFile.h
index bbc500f9e76..8d8b0c43a54 100644
--- a/src/server/shared/Logging/AppenderFile.h
+++ b/src/server/shared/Logging/AppenderFile.h
@@ -23,7 +23,7 @@
class AppenderFile: public Appender
{
public:
- AppenderFile(uint8 _id, std::string const& _name, LogLevel level, const char* filename, const char* mode, bool backup);
+ AppenderFile(uint8 _id, std::string const& _name, LogLevel level, const char* filename, const char* logDir, const char* mode, bool backup);
~AppenderFile();
FILE* OpenFile(std::string const& _name, std::string const& _mode, bool _backup);
@@ -31,6 +31,7 @@ class AppenderFile: public Appender
void _write(LogMessage& message);
FILE* logfile;
std::string filename;
+ std::string logDir;
std::string mode;
bool dynamicName;
bool backup;
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index 17c6df44125..2ced38847be 100755
--- a/src/server/shared/Logging/Log.cpp
+++ b/src/server/shared/Logging/Log.cpp
@@ -127,7 +127,7 @@ void Log::CreateAppenderFromConfig(const char* name)
}
uint8 id = NextAppenderId();
- appenders[id] = new AppenderFile(id, name, level, filename.c_str(), mode.c_str(), backup);
+ appenders[id] = new AppenderFile(id, name, level, filename.c_str(), m_logsDir.c_str(), mode.c_str(), backup);
//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;
}