#include <logfile.h>
Public Member Functions | |
LogFile (string, bool, bool, string, string) | |
Constructor. | |
~LogFile () | |
Destructor. | |
bool | open () |
Open log file. | |
void | close () |
Close log file. | |
void | reopen () |
Close and open log file. | |
bool | log (string line, log_level ll=NOTUSED) |
Log an event. | |
void | setPeriodFormat (string) |
Set period format. | |
string | getPeriodFormat () |
Get period format. | |
void | setVerbose (bool) |
Set verbose state. | |
bool | getVerbose () |
Get verbose state. | |
void | setKeepFiles (bool) |
Set keepfiles state. | |
bool | getKeepFiles () |
Get keepfiles state. | |
log_level | getLogLevel () |
Get log level. | |
void | setLogLevel (log_level) |
Set log level. | |
void | setLogLevel (string) |
Set log level. | |
Private Member Functions | |
string | systemPeriod () |
Get system date according to periodFormat. | |
void | beginLog () |
Init log file. | |
void | endLog () |
Finish log file. | |
bool | checkFile () |
Check if log file exists. | |
string | getLevelTag (log_level) |
Get level tag for a given level. | |
log_level | strToLogLevel (string) |
Get a log level according to a string. | |
Private Attributes | |
ofstream * | stream |
File stream. | |
log_level | level |
log level | |
string | baseFileName |
Base file name. | |
string | period |
Period used. | |
string | periodFormat |
Period format. | |
bool | keepFiles |
keepFiles state | |
bool | verbose |
Verbose state. |
This class is used to log bot events. Differents levels are available : error, warning, info and nothing
Definition at line 50 of file logfile.h.
LogFile::LogFile | ( | string | name, | |
bool | verbose, | |||
bool | keep, | |||
string | level, | |||
string | format | |||
) |
Constructor.
Constructor. Initialize object members
name | Base filename | |
verbose | Set to true if you want a verbose logging (displays messages in console) | |
keep | Set to true if you want to keep a log file when a new one is generated (period change) | |
level | Log level : NOTHING,ERROR,WARNING or INFO | |
format | format to finish log file name. Uses strftime function jokers. |
Definition at line 40 of file logfile.cpp.
References baseFileName, setKeepFiles(), setLogLevel(), setPeriodFormat(), setVerbose(), stream, and strToLogLevel().
LogFile::~LogFile | ( | ) |
void LogFile::beginLog | ( | ) | [private] |
Init log file.
Initialize log file
Definition at line 256 of file logfile.cpp.
References stream.
Referenced by open().
bool LogFile::checkFile | ( | ) | [private] |
Check if log file exists.
Check if the log file exists
Definition at line 245 of file logfile.cpp.
References baseFileName, and period.
void LogFile::close | ( | ) |
Close log file.
Finish the log file and close it.
Definition at line 76 of file logfile.cpp.
References endLog(), and stream.
Referenced by LogFactory::closeLog(), reopen(), and ~LogFile().
void LogFile::endLog | ( | ) | [private] |
Finish log file.
Finish log file
Definition at line 267 of file logfile.cpp.
References stream.
Referenced by close().
bool LogFile::getKeepFiles | ( | ) |
Get keepfiles state.
Get keepFiles state
Definition at line 221 of file logfile.cpp.
References keepFiles.
string LogFile::getLevelTag | ( | log_level | ll | ) | [private] |
log_level LogFile::getLogLevel | ( | ) |
Get log level.
Get log level
Definition at line 205 of file logfile.cpp.
References level.
string LogFile::getPeriodFormat | ( | ) |
Get period format.
Get period format
Definition at line 181 of file logfile.cpp.
References periodFormat.
Referenced by systemPeriod().
bool LogFile::getVerbose | ( | ) |
Get verbose state.
Get verbose state
Definition at line 237 of file logfile.cpp.
References verbose.
bool LogFile::log | ( | string | line, | |
log_level | ll = NOTUSED | |||
) |
Log an event.
Log an event to the log file, and displays it if verbose is set to true. If the log file is not present, it will be created. If the period has change (you log a file per month, and month has changed for example), log file will be closed and a new one will be created, with a name according to the new period. If keepFiles is set to true, the old file will be kept, else, this function will delete it.
line | Line to log | |
ll | log level used for this line. Can be NOTUSED (default, log level system is not used, the line will be logged without taking care about level), ERROR,WARNING,INFO |
Definition at line 112 of file logfile.cpp.
References baseFileName, ERROR, getLevelTag(), INFO, keepFiles, level, NOTHING, NOTUSED, period, reopen(), stream, systemPeriod(), verbose, and WARNING.
Referenced by BotKernel::addCountDown(), addIgnore(), addOnlyon(), addsuperadmin(), addtempsuperadmin(), bannedHandler(), checkConnection(), clearCountDowns(), BotKernel::connect(), deletekey(), delIgnore(), delOnlyon(), delsuperadmin(), disable(), disconnect(), enable(), error(), BotKernel::executeFunction(), FedoraProject::FedoraProject(), flushconffile(), joinChannel(), kickall(), kickHandler(), leaveChannel(), load(), loadconffile(), loadnocheck(), BotKernel::loadPlugin(), BotKernel::loadPlugins(), LogFactory::log(), LogFactory::LogFactory(), masskick(), onEndOfMOTD(), onInvite(), opall(), randomKick(), BotKernel::reconnect(), rejoinChan(), reloadfas(), reset(), BotKernel::run(), secondaryNick(), BotKernel::send(), setconfvalue(), setlogkeepfiles(), setloglevel(), setlogperiod(), setNick(), setSuperAdminPass(), BotKernel::stop(), BotKernel::storeFunction(), RemoteControl::tcpServer(), unload(), unloadnocheck(), BotKernel::unloadPlugin(), unopall(), unvoiceall(), voiceall(), and BotKernel::~BotKernel().
bool LogFile::open | ( | ) |
Open log file.
Open the log file and initilize it. If the file does not exists, it's created, according to base filename and period format
Definition at line 62 of file logfile.cpp.
References baseFileName, beginLog(), period, stream, and systemPeriod().
Referenced by BotKernel::BotKernel(), LogFactory::newLog(), and reopen().
void LogFile::reopen | ( | ) |
Close and open log file.
Close the log file, then open it
Definition at line 85 of file logfile.cpp.
References close(), and open().
Referenced by log().
void LogFile::setKeepFiles | ( | bool | state | ) |
Set keepfiles state.
Set keepFiles state
state | State to set |
Definition at line 213 of file logfile.cpp.
References keepFiles.
Referenced by LogFile(), and setlogkeepfiles().
void LogFile::setLogLevel | ( | string | ll | ) |
Set log level.
Set log level
ll | log level |
Definition at line 189 of file logfile.cpp.
References level, and strToLogLevel().
void LogFile::setLogLevel | ( | log_level | ll | ) |
Set log level.
Set log level
ll | log level |
Definition at line 197 of file logfile.cpp.
References level.
Referenced by LogFile(), and setloglevel().
void LogFile::setPeriodFormat | ( | string | format | ) |
Set period format.
Set period format
format | period format |
Definition at line 173 of file logfile.cpp.
References periodFormat.
Referenced by LogFile(), and setlogperiod().
void LogFile::setVerbose | ( | bool | state | ) |
Set verbose state.
Set verbose state
state | Verbose state |
Definition at line 229 of file logfile.cpp.
References verbose.
Referenced by LogFile().
log_level LogFile::strToLogLevel | ( | string | ll | ) | [private] |
Get a log level according to a string.
Convert a string log level to a log_level format
ll | log level to convert |
Definition at line 156 of file logfile.cpp.
References ERROR, INFO, NOTHING, NOTUSED, and WARNING.
Referenced by LogFile(), and setLogLevel().
string LogFile::systemPeriod | ( | ) | [private] |
Get system date according to periodFormat.
Give system period (time) according to given format
Definition at line 94 of file logfile.cpp.
References getPeriodFormat().
string LogFile::baseFileName [private] |
bool LogFile::keepFiles [private] |
keepFiles state
Definition at line 96 of file logfile.h.
Referenced by getKeepFiles(), log(), and setKeepFiles().
log_level LogFile::level [private] |
log level
Definition at line 86 of file logfile.h.
Referenced by getLogLevel(), log(), and setLogLevel().
string LogFile::period [private] |
string LogFile::periodFormat [private] |
Period format.
Definition at line 92 of file logfile.h.
Referenced by getPeriodFormat(), and setPeriodFormat().
ofstream* LogFile::stream [private] |
File stream.
Definition at line 84 of file logfile.h.
Referenced by beginLog(), close(), endLog(), log(), LogFile(), open(), and ~LogFile().
bool LogFile::verbose [private] |
Verbose state.
Definition at line 98 of file logfile.h.
Referenced by getVerbose(), log(), and setVerbose().