LogFile Class Reference

Class that manage log system. More...

#include <logfile.h>

List of all members.

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.


Detailed Description

Class that manage log system.

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.


Constructor & Destructor Documentation

LogFile::LogFile ( string  name,
bool  verbose,
bool  keep,
string  level,
string  format 
)

Constructor.

Constructor. Initialize object members

Parameters:
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 (  ) 

Destructor.

Destructor. Close the file and delete stream

Definition at line 52 of file logfile.cpp.

References close(), and stream.


Member Function Documentation

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

Returns:
True if file exists, else false

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

Returns:
keepFiles state

Definition at line 221 of file logfile.cpp.

References keepFiles.

string LogFile::getLevelTag ( log_level  ll  )  [private]

Get level tag for a given level.

Get a tag according to a given log level

Parameters:
ll Log level given
Returns:
Level taf according to the log level

Definition at line 280 of file logfile.cpp.

References ERROR, INFO, NOTHING, NOTUSED, and WARNING.

Referenced by log().

log_level LogFile::getLogLevel (  ) 

Get log level.

Get log level

Returns:
actual log level

Definition at line 205 of file logfile.cpp.

References level.

string LogFile::getPeriodFormat (  ) 

Get period format.

Get period format

Returns:
Period format

Definition at line 181 of file logfile.cpp.

References periodFormat.

Referenced by systemPeriod().

bool LogFile::getVerbose (  ) 

Get verbose state.

Get verbose state

Returns:
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.

Parameters:
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
Returns:
true if the line has been logged, else false

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

Returns:
true if log file has been opened, else false

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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
ll log level to convert
Returns:
log level converted

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

Returns:
System period

Definition at line 94 of file logfile.cpp.

References getPeriodFormat().

Referenced by log(), and open().


Member Data Documentation

string LogFile::baseFileName [private]

Base file name.

Definition at line 88 of file logfile.h.

Referenced by checkFile(), log(), LogFile(), and open().

bool LogFile::keepFiles [private]

keepFiles state

Definition at line 96 of file logfile.h.

Referenced by getKeepFiles(), log(), and setKeepFiles().

log level

Definition at line 86 of file logfile.h.

Referenced by getLogLevel(), log(), and setLogLevel().

string LogFile::period [private]

Period used.

Definition at line 90 of file logfile.h.

Referenced by checkFile(), log(), and open().

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().


The documentation for this class was generated from the following files:

Generated on Sun Aug 16 15:28:47 2009 for trustyRC by  doxygen 1.5.8