#20 remove hard coded file root

pull/32/head
Geoffrey Merck 4 years ago
parent c0a49a4cf3
commit 7d12e567ac

@ -21,19 +21,19 @@
#include <fstream> #include <fstream>
#include <chrono> #include <chrono>
#include <ctime> #include <ctime>
#include <cassert>
#include "LogFileTarget.h" #include "LogFileTarget.h"
#define LOG_FILE_ROOT "dstargateway" CLogFileTarget::CLogFileTarget(LOG_SEVERITY logLevel, const std::string & dir, const std::string& fileRoot, bool rotate) :
CLogFileTarget::CLogFileTarget(LOG_SEVERITY logLevel, const std::string & dir, bool rotate) :
CLogTarget(logLevel), CLogTarget(logLevel),
m_dir(dir), m_dir(dir),
m_fileRoot(fileRoot),
m_rotate(rotate), m_rotate(rotate),
m_file(), m_file(),
m_day(0) m_day(0)
{ {
assert(!fileRoot.empty());
} }
CLogFileTarget::~CLogFileTarget() CLogFileTarget::~CLogFileTarget()
@ -53,7 +53,7 @@ void CLogFileTarget::printLogIntFixed(const std::string& msg)
std::string filename(m_dir); std::string filename(m_dir);
if(filename[filename.length() - 1U] != '/') filename.push_back('/'); if(filename[filename.length() - 1U] != '/') filename.push_back('/');
filename.append(LOG_FILE_ROOT).append(".log"); filename.append(m_fileRoot).append(".log");
m_file.open(filename, std::ios::app); m_file.open(filename, std::ios::app);
if(m_file.is_open()) { if(m_file.is_open()) {
@ -80,7 +80,7 @@ void CLogFileTarget::printLogIntRotate(const std::string& msg)
if(filename[filename.length() - 1U] != '/') filename.push_back('/'); if(filename[filename.length() - 1U] != '/') filename.push_back('/');
char buf[64]; char buf[64];
std::strftime(buf, 42, "-%Y-%m-%d", now_tm); std::strftime(buf, 42, "-%Y-%m-%d", now_tm);
filename.append(LOG_FILE_ROOT).append(buf).append(".log"); filename.append(m_fileRoot).append(buf).append(".log");
m_file.open(filename, std::ios::app); m_file.open(filename, std::ios::app);
if(!m_file.is_open()) { if(!m_file.is_open()) {
std::cerr << "FAILED TO OPEN LOG FILE :" << filename; std::cerr << "FAILED TO OPEN LOG FILE :" << filename;

@ -26,7 +26,7 @@
class CLogFileTarget : public CLogTarget class CLogFileTarget : public CLogTarget
{ {
public: public:
CLogFileTarget(LOG_SEVERITY logLevel, const std::string& directory, bool rotate); CLogFileTarget(LOG_SEVERITY logLevel, const std::string& directory, const std::string& fileRoot, bool rotate);
~CLogFileTarget(); ~CLogFileTarget();
protected: protected:
@ -37,6 +37,7 @@ private:
void printLogIntFixed(const std::string& msg); void printLogIntFixed(const std::string& msg);
std::string buildFileName(); std::string buildFileName();
std::string m_dir; std::string m_dir;
std::string m_fileRoot;
bool m_rotate; bool m_rotate;
std::fstream m_file; std::fstream m_file;
int m_day; int m_day;

Loading…
Cancel
Save

Powered by TurnKey Linux.