Application logger is a class that implements a logger that can be used by applications to save log file somewhere on the system.
More...
#include <applog.h>
Inheritance diagram for AppLog:
Collaboration diagram for AppLog:
Data Structures
Public Member Functions
Constructor for a customized logger.
More...
Subscribes the current thread to logger, it reserves thread safe buffer for it.
More...
Unsubscribes the current thread from logger.
More...
void
logFileName (const char *FileName, bool logDirectly=false, bool usePipe=false)
Allows to set up ost::alog parameters.
More...
if logDirectly is set it closes the file.
More...
Enables slog output for error level messages.
More...
Sets the level for that ident.
More...
void
open (const char *ident)
Opens the file if not already and sets ident.
More...
operator to change ident and log level
More...
operator to change logging level
More...
manipulator operator, to change print levels.
More...
manipulator operator, to use ostream manipulators (i.e.
More...
Static Public Member Functions
Translates level from string to
Slog::Level, useful for configuration files for instance.
More...
Protected Member Functions
Protected Attributes
Static Protected Attributes
Friends
Detailed Description
Application logger is a class that implements a logger that can be used by applications to save log file somewhere on the system.
It uses ost::slog to write to syslog and std::clog to write to standard output.
It provides either a stream oriented logger or a old printf style one.
It can be used to log directly on a file or in a spooler like way. Latter uses a ost::ThreadQueue to implement a thread safe access to logger.
It provides a global stream variable called ost::alog.
It provides an AppLog::Ident class that represents a module name for instance that can be used to tag logs. Logging levels are the same defined into ost::Slog: Slog::levelEmergency Slog::levelAlert Slog::levelCritical Slog::levelError Slog::levelWarning Slog::levelNotice Slog::levelInfo Slog::levelDebugfrom.
Example of usage: alog << mod_name << debug << "Hello world!" << std::endl;
Definition at line 173 of file applog.h.
Constructor & Destructor Documentation
AppLog::AppLog
(
const char *
logFileName = NULL
,
bool
logDirectly = false
,
bool
usePipe = false
)
Constructor for a customized logger.
- Parameters
-
logFileName log file name.
logDirectly true to write directly to file, false to use a spooler like logger.
usePipe true to use pipe instead of file, false otherwise
virtual AppLog::~AppLog
(
)
virtual
Member Function Documentation
AppLog& AppLog::alert
(
void
)
inline
alert level
- Returns
- application logger stream
Definition at line 472 of file applog.h.
void AppLog::clogEnable
(
bool
en = true
)
Enables clog output.
- Parameters
-
en true to enable clog output.
void AppLog::close
(
void
)
if logDirectly is set it closes the file.
AppLog& AppLog::critical
(
void
)
inline
critical level
- Returns
- application logger stream
Definition at line 479 of file applog.h.
AppLog& AppLog::debug
(
void
)
inline
debug level
- Returns
- application logger stream
Definition at line 458 of file applog.h.
AppLog& AppLog::emerg
(
void
)
inline
emerg level
- Returns
- application logger stream
Definition at line 465 of file applog.h.
AppLog& AppLog::error
(
void
)
inline
error level
- Returns
- application logger stream
Definition at line 451 of file applog.h.
void AppLog::identLevel
(
const char *
ident,
)
Sets the level for that ident.
- Parameters
-
ident ident (module name for instance).
level level
info level
- Returns
- application logger stream
Definition at line 493 of file applog.h.
Sets the log level.
- Parameters
-
enable log level.
static
Slog::Level AppLog::levelTranslate
(
string
name )
inlinestatic
void AppLog::logFileName
(
const char *
FileName,
bool
logDirectly = false
,
bool
usePipe = false
)
Allows to set up ost::alog parameters.
- Parameters
-
FileName log file name.
logDirectly true to write directly to file, false to use a spooler like logger.
usePipe true to use pipe instead of file, false otherwise
AppLog& AppLog::notice
(
void
)
inline
notice level
- Returns
- application logger stream
Definition at line 486 of file applog.h.
void AppLog::open
(
const char *
ident )
Opens the file if not already and sets ident.
- Parameters
-
ident module name for instance.
AppLog& AppLog::operator()
(
const char *
ident,
)
operator to change ident and log level
- Parameters
-
ident ident (module name for instance)
level new log level
- Returns
- application logger stream
operator to change ident
- Parameters
-
ident ident (module name for instance)
- Returns
- application logger stream
Definition at line 396 of file applog.h.
operator to change logging level
- Parameters
-
level new log level
- Returns
- application logger stream
manipulator operator, to change print levels.
- Parameters
-
- Returns
- application logger stream
AppLog& AppLog::operator<<
(
ostream &(*)(ostream &)
pfManipulator )
manipulator operator, to use ostream manipulators (i.e.
std::endl,...)
- Parameters
-
- Returns
- application logger stream
operator <<
- Parameters
-
ident module name for instance.
- Returns
- application logger stream
Definition at line 433 of file applog.h.
virtual int AppLog::overflow
(
int
c )
virtual
stream overflow() overload.
- Parameters
-
c character to be managed
- Returns
- c
void AppLog::slogEnable
(
bool
en = true
)
Enables slog output for error level messages.
- Parameters
-
en true to enable slog output.
void AppLog::subscribe
(
)
Subscribes the current thread to logger, it reserves thread safe buffer for it.
virtual int AppLog::sync
(
)
virtual
void AppLog::unsubscribe
(
)
Unsubscribes the current thread from logger.
warn level
- Returns
- application logger stream
Definition at line 444 of file applog.h.
void AppLog::writeLog
(
bool
endOfLine = true
)
protected
Friends And Related Function Documentation
ostream& operator<<
(
ostream &
out,
)
friend
Field Documentation
AppLogPrivate* AppLog::d
protected
The documentation for this class was generated from the following file: