some work in the new api:
- log_level and save_each_line moved from Log to FileLog - other fixes in loggers - DirContainer from Dirs and LoadAvg had no dependencies set git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1148 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
89d303f375
commit
491dd27ebf
File diff suppressed because one or more lines are too long
|
@ -65,9 +65,11 @@ App::App()
|
||||||
last_sessions_save = std::time(0);
|
last_sessions_save = std::time(0);
|
||||||
fcgi_socket = -1;
|
fcgi_socket = -1;
|
||||||
|
|
||||||
|
file_log.set_synchro(&synchro);
|
||||||
|
file_log.set_time_zones(&system.time_zones);
|
||||||
|
|
||||||
log.SetLogBuffer(&log_buffer);
|
log.SetLogBuffer(&log_buffer);
|
||||||
log.SetFileLog(&file_log);
|
log.SetFileLog(&file_log);
|
||||||
log.Init(config.log_level, config.log_save_each_line, config.log_request);
|
|
||||||
|
|
||||||
// objects dependency for main thread
|
// objects dependency for main thread
|
||||||
winix_base.set_config(&config);
|
winix_base.set_config(&config);
|
||||||
|
@ -90,6 +92,7 @@ App::App()
|
||||||
|
|
||||||
|
|
||||||
config.SetFileLog(&file_log);
|
config.SetFileLog(&file_log);
|
||||||
|
config.SetLogBuffer(&log_buffer);
|
||||||
|
|
||||||
|
|
||||||
// temporary there is only one request
|
// temporary there is only one request
|
||||||
|
@ -159,17 +162,20 @@ App::App()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void App::InitFileLog()
|
void App::InitLoggers()
|
||||||
{
|
{
|
||||||
file_log.set_synchro(&synchro);
|
file_log.init(config.log_file, config.log_stdout, config.log_level, config.log_save_each_line, config.log_time_zone_id);
|
||||||
file_log.set_time_zones(&system.time_zones);
|
log.Init(config.log_request);
|
||||||
file_log.init(config.log_file, config.log_stdout, config.log_time_zone_id);
|
|
||||||
|
|
||||||
log.SetFileLog(&file_log);
|
|
||||||
log.Init(config.log_level, config.log_save_each_line, config.log_request);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Log & App::GetMainLog()
|
||||||
|
{
|
||||||
|
return log;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void App::InitPlugins()
|
void App::InitPlugins()
|
||||||
{
|
{
|
||||||
plugin.LoadPlugins(config.plugins_dir, config.plugin_file);
|
plugin.LoadPlugins(config.plugins_dir, config.plugin_file);
|
||||||
|
|
|
@ -75,7 +75,8 @@ public:
|
||||||
|
|
||||||
bool InitFCGI();
|
bool InitFCGI();
|
||||||
bool DropPrivileges();
|
bool DropPrivileges();
|
||||||
void InitFileLog();
|
void InitLoggers();
|
||||||
|
Log & GetMainLog();
|
||||||
void InitPlugins();
|
void InitPlugins();
|
||||||
bool Init();
|
bool Init();
|
||||||
void Start();
|
void Start();
|
||||||
|
@ -131,9 +132,6 @@ public:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FileLog file_log;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -190,6 +188,9 @@ private:
|
||||||
// logger only for App object
|
// logger only for App object
|
||||||
Log log;
|
Log log;
|
||||||
|
|
||||||
|
// file logger, one object for every Log objects
|
||||||
|
FileLog file_log;
|
||||||
|
|
||||||
bool InitFCGI(char * sock, char * sock_user, char * sock_group);
|
bool InitFCGI(char * sock, char * sock_user, char * sock_group);
|
||||||
bool InitFCGIChmodChownSocket(char * sock, char * sock_user, char * sock_group);
|
bool InitFCGIChmodChownSocket(char * sock, char * sock_user, char * sock_group);
|
||||||
bool DropPrivileges(char * user, char * group);
|
bool DropPrivileges(char * user, char * group);
|
||||||
|
|
|
@ -54,7 +54,13 @@ void Config::SetFileLog(FileLog * file_log)
|
||||||
log.SetFileLog(file_log);
|
log.SetFileLog(file_log);
|
||||||
|
|
||||||
// the config is not read yet so we put some constants here
|
// the config is not read yet so we put some constants here
|
||||||
log.Init(3, false, 1);
|
log.Init(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Config::SetLogBuffer(TextStream<std::wstring> * log_buffer)
|
||||||
|
{
|
||||||
|
log.SetLogBuffer(log_buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -819,7 +819,10 @@ public:
|
||||||
// raw access to the config
|
// raw access to the config
|
||||||
PT::Space space;
|
PT::Space space;
|
||||||
|
|
||||||
|
|
||||||
void SetFileLog(FileLog * file_log);
|
void SetFileLog(FileLog * file_log);
|
||||||
|
void SetLogBuffer(TextStream<std::wstring> * log_buffer);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,13 @@ void Dirs::SetNotify(Notify * pnotify)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Dirs::set_dependency(WinixModel * winix_model)
|
||||||
|
{
|
||||||
|
WinixModel::set_dependency(winix_model);
|
||||||
|
dir_tab.set_dependency(winix_model);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Dirs::Clear()
|
void Dirs::Clear()
|
||||||
{
|
{
|
||||||
dir_tab.Clear();
|
dir_tab.Clear();
|
||||||
|
|
|
@ -69,6 +69,8 @@ public:
|
||||||
void SetDb(Db * pdb);
|
void SetDb(Db * pdb);
|
||||||
void SetNotify(Notify * pnotify);
|
void SetNotify(Notify * pnotify);
|
||||||
|
|
||||||
|
void set_dependency(WinixModel * winix_model);
|
||||||
|
|
||||||
// these methods return false if there is no such a dir
|
// these methods return false if there is no such a dir
|
||||||
bool IsDir(long dir_id);
|
bool IsDir(long dir_id);
|
||||||
bool GetDirChilds(long parent_id, std::vector<Item*> & childs_tab); // !! zamienic na GetChilds()
|
bool GetDirChilds(long parent_id, std::vector<Item*> & childs_tab); // !! zamienic na GetChilds()
|
||||||
|
|
|
@ -66,23 +66,38 @@ void FileLog::set_synchro(Synchro * synchro)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void FileLog::init(const std::wstring & log_file, bool log_stdout, size_t log_time_zone_id)
|
void FileLog::init(const std::wstring & log_file, bool log_stdout, int log_level, bool save_each_line, size_t log_time_zone_id)
|
||||||
{
|
{
|
||||||
this->log_stdout = log_stdout;
|
this->log_stdout = log_stdout;
|
||||||
this->log_time_zone_id = log_time_zone_id;
|
this->log_time_zone_id = log_time_zone_id;
|
||||||
|
this->log_level = log_level;
|
||||||
|
this->save_each_line = save_each_line;
|
||||||
PT::WideToUTF8(log_file, this->log_file);
|
PT::WideToUTF8(log_file, this->log_file);
|
||||||
// don't open the file here
|
// don't open the file here
|
||||||
// because it would be created with the root as an owner
|
// because it would be created with the root as an owner
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void FileLog::set_time_zones(TimeZones * time_zones)
|
void FileLog::set_time_zones(TimeZones * time_zones)
|
||||||
{
|
{
|
||||||
this->time_zones = time_zones;
|
this->time_zones = time_zones;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int FileLog::get_log_level()
|
||||||
|
{
|
||||||
|
return log_level;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool FileLog::should_save_each_line()
|
||||||
|
{
|
||||||
|
return save_each_line;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PT::Date FileLog::get_local_date(const PT::Date & date)
|
PT::Date FileLog::get_local_date(const PT::Date & date)
|
||||||
{
|
{
|
||||||
if( time_zones )
|
if( time_zones )
|
||||||
|
|
|
@ -58,12 +58,14 @@ public:
|
||||||
|
|
||||||
void set_synchro(Synchro * synchro);
|
void set_synchro(Synchro * synchro);
|
||||||
|
|
||||||
void init(const std::wstring & log_file, bool log_stdout, size_t log_time_zone_id);
|
void init(const std::wstring & log_file, bool log_stdout, int log_level, bool save_each_line, size_t log_time_zone_id);
|
||||||
void save_log(TextStream<std::wstring> * buffer);
|
void save_log(TextStream<std::wstring> * buffer);
|
||||||
|
|
||||||
void set_time_zones(TimeZones * time_zones);
|
void set_time_zones(TimeZones * time_zones);
|
||||||
PT::Date get_local_date(const PT::Date & date);
|
PT::Date get_local_date(const PT::Date & date);
|
||||||
|
|
||||||
|
int get_log_level();
|
||||||
|
bool should_save_each_line();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -83,6 +85,13 @@ private:
|
||||||
|
|
||||||
Synchro * synchro;
|
Synchro * synchro;
|
||||||
|
|
||||||
|
// log lovel from the config file
|
||||||
|
int log_level;
|
||||||
|
|
||||||
|
// whether to save each line (for debug)
|
||||||
|
bool save_each_line;
|
||||||
|
|
||||||
|
|
||||||
void open_file();
|
void open_file();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ namespace Winix
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class LoadAvg : WinixBase
|
class LoadAvg : public WinixBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
LoadAvg();
|
LoadAvg();
|
||||||
|
|
|
@ -46,14 +46,12 @@ namespace Winix
|
||||||
|
|
||||||
Log::Log()
|
Log::Log()
|
||||||
{
|
{
|
||||||
log_level = 1;
|
|
||||||
current_level = 100; // nothing to log (call Init() first)
|
current_level = 100; // nothing to log (call Init() first)
|
||||||
request = 0;
|
request = 0;
|
||||||
max_requests = 1;
|
max_requests = 1;
|
||||||
lines = 0;
|
lines = 0;
|
||||||
max_lines = 5000;
|
max_lines = 5000;
|
||||||
file_log = nullptr;
|
file_log = nullptr;
|
||||||
save_each_line = false;
|
|
||||||
buffer = nullptr;
|
buffer = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,17 +87,9 @@ void Log::SetDependency(Log * log)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int Log::LogLevel()
|
|
||||||
|
void Log::Init(int max_requests)
|
||||||
{
|
{
|
||||||
return log_level;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Log::Init(int log_level, bool save_each_line, int max_requests)
|
|
||||||
{
|
|
||||||
this->log_level = log_level;
|
|
||||||
this->save_each_line = save_each_line;
|
|
||||||
this->max_requests = max_requests;
|
this->max_requests = max_requests;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,7 +111,7 @@ void Log::PrintDate(const PT::Date & date)
|
||||||
|
|
||||||
Log & Log::operator<<(const void * s)
|
Log & Log::operator<<(const void * s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -133,7 +123,7 @@ Log & Log::operator<<(const void * s)
|
||||||
|
|
||||||
Log & Log::operator<<(const char * s)
|
Log & Log::operator<<(const char * s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer && s )
|
if( current_level <= file_log->get_log_level() && buffer && s )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -145,7 +135,7 @@ return *this;
|
||||||
|
|
||||||
Log & Log::operator<<(const std::string & s)
|
Log & Log::operator<<(const std::string & s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -157,7 +147,7 @@ Log & Log::operator<<(const std::string & s)
|
||||||
|
|
||||||
Log & Log::operator<<(const std::string * s)
|
Log & Log::operator<<(const std::string * s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << *s;
|
(*buffer) << *s;
|
||||||
}
|
}
|
||||||
|
@ -172,7 +162,7 @@ Log & Log::operator<<(const std::string * s)
|
||||||
|
|
||||||
Log & Log::operator<<(const wchar_t * s)
|
Log & Log::operator<<(const wchar_t * s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer && s )
|
if( current_level <= file_log->get_log_level() && buffer && s )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -184,7 +174,7 @@ return *this;
|
||||||
|
|
||||||
Log & Log::operator<<(const std::wstring & s)
|
Log & Log::operator<<(const std::wstring & s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -196,7 +186,7 @@ Log & Log::operator<<(const std::wstring & s)
|
||||||
|
|
||||||
Log & Log::operator<<(const std::wstring * s)
|
Log & Log::operator<<(const std::wstring * s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << *s;
|
(*buffer) << *s;
|
||||||
}
|
}
|
||||||
|
@ -210,7 +200,7 @@ Log & Log::operator<<(const std::wstring * s)
|
||||||
|
|
||||||
Log & Log::operator<<(int s)
|
Log & Log::operator<<(int s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -222,7 +212,7 @@ Log & Log::operator<<(int s)
|
||||||
|
|
||||||
Log & Log::operator<<(long s)
|
Log & Log::operator<<(long s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -235,7 +225,7 @@ Log & Log::operator<<(long s)
|
||||||
|
|
||||||
Log & Log::operator<<(char s)
|
Log & Log::operator<<(char s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -246,7 +236,7 @@ Log & Log::operator<<(char s)
|
||||||
|
|
||||||
Log & Log::operator<<(wchar_t s)
|
Log & Log::operator<<(wchar_t s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -257,7 +247,7 @@ Log & Log::operator<<(wchar_t s)
|
||||||
|
|
||||||
Log & Log::operator<<(size_t s)
|
Log & Log::operator<<(size_t s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -269,7 +259,7 @@ Log & Log::operator<<(size_t s)
|
||||||
|
|
||||||
Log & Log::operator<<(double s)
|
Log & Log::operator<<(double s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -281,7 +271,7 @@ Log & Log::operator<<(double s)
|
||||||
|
|
||||||
Log & Log::operator<<(const PT::Space & s)
|
Log & Log::operator<<(const PT::Space & s)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << s;
|
(*buffer) << s;
|
||||||
}
|
}
|
||||||
|
@ -293,7 +283,7 @@ return *this;
|
||||||
|
|
||||||
Log & Log::operator<<(const PT::Date & date)
|
Log & Log::operator<<(const PT::Date & date)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << date;
|
(*buffer) << date;
|
||||||
}
|
}
|
||||||
|
@ -308,12 +298,12 @@ Log & Log::operator<<(LogManipulators m)
|
||||||
switch(m)
|
switch(m)
|
||||||
{
|
{
|
||||||
case logend:
|
case logend:
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
(*buffer) << '\n';
|
(*buffer) << '\n';
|
||||||
lines += 1;
|
lines += 1;
|
||||||
|
|
||||||
if( save_each_line )
|
if( file_log->should_save_each_line() )
|
||||||
SaveLogAndClear();
|
SaveLogAndClear();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -455,7 +445,7 @@ void Log::SaveLogAndClear()
|
||||||
|
|
||||||
void Log::SaveLog()
|
void Log::SaveLog()
|
||||||
{
|
{
|
||||||
if( file_log && buffer )
|
if( buffer )
|
||||||
{
|
{
|
||||||
file_log->save_log(buffer);
|
file_log->save_log(buffer);
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,7 @@ public:
|
||||||
|
|
||||||
void SetDependency(Log * log);
|
void SetDependency(Log * log);
|
||||||
|
|
||||||
void Init(int log_level, bool save_each_line, int max_requests);
|
void Init(int max_requests);
|
||||||
|
|
||||||
Log & operator<<(const void * s);
|
Log & operator<<(const void * s);
|
||||||
Log & operator<<(const char * s);
|
Log & operator<<(const char * s);
|
||||||
|
@ -101,7 +101,6 @@ public:
|
||||||
void SaveLog();
|
void SaveLog();
|
||||||
void SaveLogAndClear();
|
void SaveLogAndClear();
|
||||||
|
|
||||||
int LogLevel();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -110,9 +109,6 @@ private:
|
||||||
// buffer for the log
|
// buffer for the log
|
||||||
TextStream<std::wstring> * buffer; // IMPROVE ME this buffer should be a common buffer for all objects for a one thread
|
TextStream<std::wstring> * buffer; // IMPROVE ME this buffer should be a common buffer for all objects for a one thread
|
||||||
|
|
||||||
// log lovel from the config file
|
|
||||||
int log_level;
|
|
||||||
|
|
||||||
// current level set by a modifier (e.g. log << log3)
|
// current level set by a modifier (e.g. log << log3)
|
||||||
int current_level;
|
int current_level;
|
||||||
|
|
||||||
|
@ -123,6 +119,8 @@ private:
|
||||||
// how many request to save at once
|
// how many request to save at once
|
||||||
int max_requests;
|
int max_requests;
|
||||||
|
|
||||||
|
|
||||||
|
// IMPROVE ME now we don't know how many lines there are in the buffer as the buffer can be used by other Logs
|
||||||
// how many lines there are in the buffer
|
// how many lines there are in the buffer
|
||||||
int lines;
|
int lines;
|
||||||
|
|
||||||
|
@ -130,8 +128,6 @@ private:
|
||||||
// default: 5000
|
// default: 5000
|
||||||
int max_lines;
|
int max_lines;
|
||||||
|
|
||||||
// whether to save each line (for debug)
|
|
||||||
bool save_each_line;
|
|
||||||
|
|
||||||
FileLog * file_log;
|
FileLog * file_log;
|
||||||
|
|
||||||
|
@ -147,7 +143,7 @@ void Log::LogString(const StringType & value, size_t max_size)
|
||||||
{
|
{
|
||||||
size_t min_size = value.size() < max_size ? value.size() : max_size;
|
size_t min_size = value.size() < max_size ? value.size() : max_size;
|
||||||
|
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
{
|
{
|
||||||
for(size_t i=0 ; i<min_size ; ++i)
|
for(size_t i=0 ; i<min_size ; ++i)
|
||||||
{
|
{
|
||||||
|
@ -164,7 +160,7 @@ size_t min_size = value.size() < max_size ? value.size() : max_size;
|
||||||
template<typename char_type, size_t stack_size, size_t heap_block_size>
|
template<typename char_type, size_t stack_size, size_t heap_block_size>
|
||||||
Log & Log::operator<<(const PT::TextStreamBase<char_type, stack_size, heap_block_size> & buf)
|
Log & Log::operator<<(const PT::TextStreamBase<char_type, stack_size, heap_block_size> & buf)
|
||||||
{
|
{
|
||||||
if( current_level <= log_level && buffer )
|
if( current_level <= file_log->get_log_level() && buffer )
|
||||||
(*buffer) << buf;
|
(*buffer) << buf;
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
|
|
|
@ -197,7 +197,7 @@ bool Plugin::SetDependency(PluginInfo & info)
|
||||||
info.plugin = this;
|
info.plugin = this;
|
||||||
|
|
||||||
info.log.SetDependency(&log);
|
info.log.SetDependency(&log);
|
||||||
log.Init(config->log_level, config->log_save_each_line, config->log_request);
|
log.Init(config->log_request);
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,9 +83,20 @@ void System::SetSessionManager(SessionManager * sm)
|
||||||
|
|
||||||
void System::set_dependency(WinixModel * winix_model)
|
void System::set_dependency(WinixModel * winix_model)
|
||||||
{
|
{
|
||||||
|
WinixModel::set_dependency(winix_model);
|
||||||
|
|
||||||
|
dirs.set_dependency(this);
|
||||||
|
mounts.set_dependency(this);
|
||||||
|
users.set_dependency(this);
|
||||||
|
groups.set_dependency(this);
|
||||||
|
rebus.set_dependency(this);
|
||||||
|
load_avg.set_dependency(this);
|
||||||
|
notify.set_dependency(this);
|
||||||
|
image.set_dependency(this);
|
||||||
|
crypt.set_dependency(this);
|
||||||
|
thread_manager.set_dependency(this);
|
||||||
job.set_dependency(winix_model);
|
job.set_dependency(winix_model);
|
||||||
time_zones.set_dependency(winix_model);
|
time_zones.set_dependency(winix_model);
|
||||||
WinixModel::set_dependency(winix_model);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -115,16 +126,13 @@ void System::ReadTimeZones()
|
||||||
void System::Init()
|
void System::Init()
|
||||||
{
|
{
|
||||||
//thread_manager.SetSynchro(synchro);
|
//thread_manager.SetSynchro(synchro);
|
||||||
thread_manager.set_dependency(this);
|
|
||||||
thread_manager.Init();
|
thread_manager.Init();
|
||||||
|
|
||||||
dirs.set_dependency(this);
|
|
||||||
dirs.SetDb(db);
|
dirs.SetDb(db);
|
||||||
dirs.SetCur(cur); // only one method is using cur, can be passed as a parameter to the method
|
dirs.SetCur(cur); // only one method is using cur, can be passed as a parameter to the method
|
||||||
dirs.SetNotify(¬ify);
|
dirs.SetNotify(¬ify);
|
||||||
dirs.ReadDirs();
|
dirs.ReadDirs();
|
||||||
|
|
||||||
mounts.set_dependency(this);
|
|
||||||
mounts.SkipStaticDirs(config->dont_use_static_dirs);
|
mounts.SkipStaticDirs(config->dont_use_static_dirs);
|
||||||
mounts.SetDirs(&dirs);
|
mounts.SetDirs(&dirs);
|
||||||
mounts.SetDb(db);
|
mounts.SetDb(db);
|
||||||
|
@ -132,19 +140,16 @@ void System::Init()
|
||||||
mounts.CreateMounts();
|
mounts.CreateMounts();
|
||||||
mounts.ReadMounts();
|
mounts.ReadMounts();
|
||||||
|
|
||||||
users.set_dependency(this);
|
|
||||||
users.SetCur(cur);
|
users.SetCur(cur);
|
||||||
users.SetSessionManager(session_manager);
|
users.SetSessionManager(session_manager);
|
||||||
users.ReadUsers(db);
|
users.ReadUsers(db);
|
||||||
|
|
||||||
groups.set_dependency(this);
|
|
||||||
groups.ReadGroups(db); // !! chwilowe przekazanie argumentu, db bedzie zmienione
|
groups.ReadGroups(db); // !! chwilowe przekazanie argumentu, db bedzie zmienione
|
||||||
|
|
||||||
rebus.set_dependency(this);
|
|
||||||
rebus.SetCur(cur);
|
rebus.SetCur(cur);
|
||||||
rebus.Init();
|
rebus.Init();
|
||||||
|
|
||||||
notify.set_dependency(this);
|
|
||||||
notify.SetCur(cur);
|
notify.SetCur(cur);
|
||||||
//notify.SetConfig(config);
|
//notify.SetConfig(config);
|
||||||
notify.SetUsers(&users);
|
notify.SetUsers(&users);
|
||||||
|
@ -157,7 +162,8 @@ void System::Init()
|
||||||
image.SetSystem(this);
|
image.SetSystem(this);
|
||||||
thread_manager.Add(&image, L"image");
|
thread_manager.Add(&image, L"image");
|
||||||
|
|
||||||
crypt.set_dependency(this);
|
|
||||||
|
|
||||||
|
|
||||||
// SetSynchro will be called by ThreadManager itself
|
// SetSynchro will be called by ThreadManager itself
|
||||||
// job.ReadFromFile();
|
// job.ReadFromFile();
|
||||||
|
|
|
@ -79,7 +79,7 @@ void WinixBase::set_dependency(WinixBase * winix_base)
|
||||||
{
|
{
|
||||||
config = winix_base->config;
|
config = winix_base->config;
|
||||||
synchro = winix_base->synchro;
|
synchro = winix_base->synchro;
|
||||||
log.SetFileLog(winix_base->log.GetFileLog());
|
log.SetDependency(&winix_base->log);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,7 @@ void WinixModel::set_dependency(WinixModel * winix_model)
|
||||||
{
|
{
|
||||||
WinixBase::set_dependency(winix_model);
|
WinixBase::set_dependency(winix_model);
|
||||||
model_connector = winix_model->model_connector;
|
model_connector = winix_model->model_connector;
|
||||||
|
plugin = winix_model->plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -43,8 +43,7 @@
|
||||||
#include "core/app.h"
|
#include "core/app.h"
|
||||||
#include "core/version.h"
|
#include "core/version.h"
|
||||||
#include "utf8/utf8.h"
|
#include "utf8/utf8.h"
|
||||||
#include "core/filelog.h"
|
|
||||||
#include "core/log.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -159,10 +158,6 @@ using Winix::app;
|
||||||
|
|
||||||
std::srand(std::time(0));
|
std::srand(std::time(0));
|
||||||
|
|
||||||
Winix::TextStream<std::wstring> log_buffer;
|
|
||||||
Winix::Log log; // log only for main() function
|
|
||||||
log.SetLogBuffer(&log_buffer);
|
|
||||||
|
|
||||||
if( argv != 2 )
|
if( argv != 2 )
|
||||||
{
|
{
|
||||||
Winix::print_syntax();
|
Winix::print_syntax();
|
||||||
|
@ -180,6 +175,9 @@ using Winix::app;
|
||||||
if( !app.config.ReadConfig(true, false) ) /* errors to stdout, stdout in not closed */
|
if( !app.config.ReadConfig(true, false) ) /* errors to stdout, stdout in not closed */
|
||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
|
Winix::Log & log = app.GetMainLog();
|
||||||
|
app.InitLoggers();
|
||||||
|
|
||||||
if( app.stdout_is_closed || app.config.demonize )
|
if( app.stdout_is_closed || app.config.demonize )
|
||||||
app.config.log_stdout = false;
|
app.config.log_stdout = false;
|
||||||
|
|
||||||
|
@ -189,11 +187,6 @@ using Winix::app;
|
||||||
if( app.config.demonize && !app.Demonize() )
|
if( app.config.demonize && !app.Demonize() )
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
|
|
||||||
app.InitFileLog();
|
|
||||||
log.SetFileLog(&app.file_log);
|
|
||||||
log.Init(app.config.log_level, app.config.log_save_each_line, app.config.log_request);
|
|
||||||
|
|
||||||
Winix::LogInfo(log, Winix::log3, "booting Winix", true, "");
|
Winix::LogInfo(log, Winix::log3, "booting Winix", true, "");
|
||||||
|
|
||||||
if( !app.InitFCGI() )
|
if( !app.InitFCGI() )
|
||||||
|
|
|
@ -1184,8 +1184,8 @@ void Templates::set_dependency(WinixRequest * winix_request)
|
||||||
TemplatesFunctions::locale_filter.set_dependency(winix_request);
|
TemplatesFunctions::locale_filter.set_dependency(winix_request);
|
||||||
TemplatesFunctions::html_filter.set_dependency(winix_request);
|
TemplatesFunctions::html_filter.set_dependency(winix_request);
|
||||||
|
|
||||||
log.SetDependency(&this->log);
|
TemplatesFunctions::log.SetDependency(&this->log);
|
||||||
log.Init(config->log_level, config->log_save_each_line, config->log_request);
|
TemplatesFunctions::log.Init(config->log_request);
|
||||||
|
|
||||||
plugin = winix_request->get_plugin();
|
plugin = winix_request->get_plugin();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue