C++ common classes
General purpose classes for use across projects (Apache license)
|
CLogging.h: interface for the CLogging class. More...
#include <CLogging.h>
Public Types | |
enum | DISPLAY_MODE { D_CONSOLE = 0, D_FILE = 1, D_BOTH = 2 } |
enum | { FILE_FLUSH_INTERVAL = 120 } |
Public Member Functions | |
CLogging (BOOL bUseFlushThread=FALSE) | |
CLogging (const char *szBaseName, const char *szDir=NULL, BOOL bDayExtension=TRUE, BOOL bUseFlushThread=FALSE) | |
virtual | ~CLogging () |
virtual BOOL | InitLoggingFile (const char *szBaseName, const char *szDir=NULL, BOOL bDayExtension=TRUE) |
If day extension is TRUE, the date will be appended to the file name. | |
virtual BOOL | InitLoggingFile (const char *szBaseName, const char *szExtenssion, const char *szDir=NULL, BOOL bDayExtension=TRUE) |
If day extension is TRUE, the date will be appended to the file name. | |
int | WriteToLog (const char *szLine, int iLevel=0, BOOL bSuppressTimestamp=FALSE) |
Write to the log. | |
void | SetCloseMode (BOOL bClose) |
If TRUE, will open before each write and close afterwards. Defaults to FALSE. | |
const char * | GetFileName () |
Returns the file name. | |
const char * | GetFilePath () |
Returns the full file path. | |
void | SetOutputMode (DISPLAY_MODE eMode) |
Set display mode. | |
void | SetFileFlushInterval (int iFlush) |
Set file flush interval (seconds) | |
int | CloseFile () |
Force a close file. | |
virtual BOOL | OKtoClose () |
See if OK to close at this point. | |
virtual void | ChangingDay () |
Changing day routine. | |
long | GetFileSize () |
Get the file size. | |
void | SetLogLevel (int iLevel) |
Set the logging level. iLevel passed to WriteToLog must <= to be output. (0 - 99) | |
void | PrefixTimestamp (BOOL bTime=TRUE) |
Prefix time stamp to all lines. | |
void | SetNameChange (BOOL bChange) |
Set so file name doesn't change on a new day. | |
BOOL | WasCreatedOnOpen () |
Was the file created on the open? | |
Protected Member Functions | |
virtual FILE * | OpenLogFile () |
Open the file. | |
const char * | GetTimestamp () |
Get a timestamp string. | |
virtual void | CloseLogFile () |
Close the file. | |
void | Initialize (BOOL bUseFlushThread) |
Initialize the file. | |
const char * | CreateFileName (const char *szBaseName, const char *szDir, BOOL bDayExtension, const char *szExtension) |
Create the file name. | |
Protected Attributes | |
CFlushLogThread | cFlushThread |
BOOL | bActivity |
BOOL | bTimestamp |
int | iLogLevel |
DISPLAY_MODE | eDisplayMode |
BOOL | bCloseMode |
BOOL | bDayExt |
FILE * | pFile |
string | sBaseName |
string | sLogFileDir |
string | sFileName |
string | sPath |
int | iYear |
int | iDayofYear |
int | iFileFlushInterval |
CXPlatCriticalSection | cCriticalSection |
char | szTimeStamp [64] |
BOOL | bNameChange |
BOOL | bWasCreated |
Friends | |
class | CFlushLogThread |
CLogging.h: interface for the CLogging class.
_MSC_VER >= 1000 CLogging implements an atomic logging capability with the additional ability to to have a separate thread to flush the log buffer to disk at programmed intervals.
Definition at line 31 of file CLogging.h.
anonymous enum |
Definition at line 41 of file CLogging.h.
Definition at line 35 of file CLogging.h.
CLogging::CLogging | ( | BOOL | bUseFlushThread = FALSE | ) |
Definition at line 33 of file CLogging.cpp.
CLogging::CLogging | ( | const char * | szBaseName, |
const char * | szDir = NULL , |
||
BOOL | bDayExtension = TRUE , |
||
BOOL | bUseFlushThread = FALSE |
||
) |
Definition at line 38 of file CLogging.cpp.
CLogging::~CLogging | ( | ) | [virtual] |
Definition at line 58 of file CLogging.cpp.
void CLogging::ChangingDay | ( | void | ) | [virtual] |
Changing day routine.
Definition at line 440 of file CLogging.cpp.
int CLogging::CloseFile | ( | ) |
Force a close file.
void CLogging::CloseLogFile | ( | ) | [protected, virtual] |
Close the file.
Definition at line 339 of file CLogging.cpp.
const char * CLogging::CreateFileName | ( | const char * | szBaseName, |
const char * | szDir, | ||
BOOL | bDayExtension, | ||
const char * | szExtension | ||
) | [protected] |
Create the file name.
Definition at line 477 of file CLogging.cpp.
const char * CLogging::GetFileName | ( | ) |
Returns the file name.
Definition at line 364 of file CLogging.cpp.
const char * CLogging::GetFilePath | ( | ) |
Returns the full file path.
Definition at line 371 of file CLogging.cpp.
long CLogging::GetFileSize | ( | ) |
Get the file size.
Definition at line 387 of file CLogging.cpp.
const char * CLogging::GetTimestamp | ( | ) | [protected] |
Get a timestamp string.
Definition at line 456 of file CLogging.cpp.
void CLogging::Initialize | ( | BOOL | bUseFlushThread | ) | [protected] |
Initialize the file.
Definition at line 46 of file CLogging.cpp.
BOOL CLogging::InitLoggingFile | ( | const char * | szBaseName, |
const char * | szDir = NULL , |
||
BOOL | bDayExtension = TRUE |
||
) | [virtual] |
If day extension is TRUE, the date will be appended to the file name.
Definition at line 68 of file CLogging.cpp.
BOOL CLogging::InitLoggingFile | ( | const char * | szBaseName, |
const char * | szExtenssion, | ||
const char * | szDir = NULL , |
||
BOOL | bDayExtension = TRUE |
||
) | [virtual] |
If day extension is TRUE, the date will be appended to the file name.
Definition at line 76 of file CLogging.cpp.
BOOL CLogging::OKtoClose | ( | void | ) | [virtual] |
See if OK to close at this point.
Definition at line 435 of file CLogging.cpp.
FILE * CLogging::OpenLogFile | ( | ) | [protected, virtual] |
Open the file.
Definition at line 128 of file CLogging.cpp.
void CLogging::PrefixTimestamp | ( | BOOL | bTime = TRUE | ) |
Prefix time stamp to all lines.
Definition at line 448 of file CLogging.cpp.
void CLogging::SetCloseMode | ( | BOOL | bClose | ) |
If TRUE, will open before each write and close afterwards. Defaults to FALSE.
Definition at line 355 of file CLogging.cpp.
void CLogging::SetFileFlushInterval | ( | int | iFlush | ) |
Set file flush interval (seconds)
Definition at line 423 of file CLogging.cpp.
void CLogging::SetLogLevel | ( | int | iLevel | ) |
Set the logging level. iLevel passed to WriteToLog must <= to be output. (0 - 99)
Definition at line 411 of file CLogging.cpp.
void CLogging::SetNameChange | ( | BOOL | bChange | ) |
Set so file name doesn't change on a new day.
void CLogging::SetOutputMode | ( | DISPLAY_MODE | eMode | ) |
Set display mode.
Definition at line 379 of file CLogging.cpp.
Was the file created on the open?
Definition at line 547 of file CLogging.cpp.
int CLogging::WriteToLog | ( | const char * | szLine, |
int | iLevel = 0 , |
||
BOOL | bSuppressTimestamp = FALSE |
||
) |
Write to the log.
Definition at line 185 of file CLogging.cpp.
friend class CFlushLogThread [friend] |
Definition at line 33 of file CLogging.h.
BOOL CLogging::bActivity [protected] |
Definition at line 95 of file CLogging.h.
BOOL CLogging::bCloseMode [protected] |
Definition at line 99 of file CLogging.h.
BOOL CLogging::bDayExt [protected] |
Definition at line 100 of file CLogging.h.
BOOL CLogging::bNameChange [protected] |
Definition at line 111 of file CLogging.h.
BOOL CLogging::bTimestamp [protected] |
Definition at line 96 of file CLogging.h.
BOOL CLogging::bWasCreated [protected] |
Definition at line 112 of file CLogging.h.
CXPlatCriticalSection CLogging::cCriticalSection [protected] |
Definition at line 109 of file CLogging.h.
CFlushLogThread CLogging::cFlushThread [protected] |
Definition at line 94 of file CLogging.h.
DISPLAY_MODE CLogging::eDisplayMode [protected] |
Definition at line 98 of file CLogging.h.
int CLogging::iDayofYear [protected] |
Definition at line 107 of file CLogging.h.
int CLogging::iFileFlushInterval [protected] |
Definition at line 108 of file CLogging.h.
int CLogging::iLogLevel [protected] |
Definition at line 97 of file CLogging.h.
int CLogging::iYear [protected] |
Definition at line 106 of file CLogging.h.
FILE* CLogging::pFile [protected] |
Definition at line 101 of file CLogging.h.
string CLogging::sBaseName [protected] |
Definition at line 102 of file CLogging.h.
string CLogging::sFileName [protected] |
Definition at line 104 of file CLogging.h.
string CLogging::sLogFileDir [protected] |
Definition at line 103 of file CLogging.h.
string CLogging::sPath [protected] |
Definition at line 105 of file CLogging.h.
char CLogging::szTimeStamp[64] [protected] |
Definition at line 110 of file CLogging.h.