ost::AppLog(3) | Library Functions Manual | ost::AppLog(3) |
ost::AppLog - Application logger is a class that implements a logger that can be used by applications to save log file somewhere on the system.
#include <applog.h>
Inherits streambuf, and ostream.
class Ident
Ident class that represents module name.
AppLog (const char *logFileName=NULL, bool
logDirectly=false, bool usePipe=false)
Constructor for a customized logger. virtual ~AppLog ()
Destructor. void subscribe ()
Subscribes the current thread to logger, it reserves thread safe buffer for
it. void unsubscribe ()
Unsubscribes the current thread from logger. void logFileName (const
char *FileName, bool logDirectly=false, bool usePipe=false)
Allows to set up ost::alog parameters. void close (void)
if logDirectly is set it closes the file. void level
(Slog::Level enable)
Sets the log level. void clogEnable (bool en=true)
Enables clog output. void slogEnable (bool en=true)
Enables slog output for error level messages. void identLevel (const
char *ident, Slog::Level level)
Sets the level for that ident. void open (const char *ident)
Opens the file if not already and sets ident. virtual int overflow (int
c)
stream overflow() overload. virtual int sync ()
stream sync() overload void emerg (const char *format,...)
emerg level printf style method, provided for convenience. void alert
(const char *format,...)
alert level printf style method, provided for convenience. void
critical (const char *format,...)
critical level printf style method, provided for convenience. void
error (const char *format,...)
error level printf style method, provided for convenience. void warn
(const char *format,...)
warn level printf style method, provided for convenience. void notice
(const char *format,...)
notice level printf style method, provided for convenience. void info
(const char *format,...)
info level printf style method, provided for convenience. void debug
(const char *format,...)
debug level printf style method, provided for convenience. AppLog &
operator() (const char *ident, Slog::Level
level=Slog::levelError)
operator to change ident and log level AppLog & operator()
(Ident &ident)
operator to change ident AppLog & operator()
(Slog::Level level)
operator to change logging level AppLog & operator<<
(AppLog &(*pfManipulator)(AppLog &))
manipulator operator, to change print levels. AppLog &
operator<< (ostream &(*pfManipulator)(ostream &))
manipulator operator, to use ostream manipulators (i.e. AppLog &
operator<< (Ident &ident)
operator << AppLog & warn (void)
warn level AppLog & error (void)
error level AppLog & debug (void)
debug level AppLog & emerg (void)
emerg level AppLog & alert (void)
alert level AppLog & critical (void)
critical level AppLog & notice (void)
notice level AppLog & info (void)
info level
static Slog::Level levelTranslate (string name)
Translates level from string to Slog::Level, useful for configuration
files for instance.
void writeLog (bool endOfLine=true)
AppLogPrivate * d
static map< string, Slog::Level > * assoc
ostream & operator<< (ostream &out,
AppLog &al)
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;
Constructor for a customized logger.
Parameters:
Destructor.
alert level printf style method, provided for convenience.
Parameters:
alert level
Returns:
Enables clog output.
Parameters:
if logDirectly is set it closes the file.
critical level printf style method, provided for convenience.
Parameters:
critical level
Returns:
debug level printf style method, provided for convenience.
Parameters:
debug level
Returns:
emerg level printf style method, provided for convenience.
Parameters:
emerg level
Returns:
error level printf style method, provided for convenience.
Parameters:
error level
Returns:
Sets the level for that ident.
Parameters:
info level printf style method, provided for convenience.
Parameters:
info level
Returns:
Sets the log level.
Parameters:
Translates level from string to Slog::Level, useful for configuration files for instance. Valid level names are: 'emerg' for Slog::levelEmergency 'alert' for Slog::levelAlert 'critical' for Slog::levelCritical 'error' for Slog::levelError 'warn' for Slog::levelWarning 'notice' for Slog::levelNotice 'info' for Slog::levelInfo 'debug' for Slog::levelDebug
Parameters:
Returns:
Allows to set up ost::alog parameters.
Parameters:
notice level printf style method, provided for convenience.
Parameters:
notice level
Returns:
Opens the file if not already and sets ident.
Parameters:
operator to change ident and log level
Parameters:
Returns:
operator to change ident
Parameters:
Returns:
References ost::AppLog::Ident::c_str(), and ost::operator<<().
operator to change logging level
Parameters:
Returns:
manipulator operator, to change print levels.
Parameters:
Returns:
manipulator operator, to use ostream manipulators (i.e. std::endl,...)
Parameters:
Returns:
operator <<
Parameters:
Returns:
References ost::AppLog::Ident::c_str().
stream overflow() overload.
Parameters:
Returns:
Enables slog output for error level messages.
Parameters:
Subscribes the current thread to logger, it reserves thread safe buffer for it.
stream sync() overload
Unsubscribes the current thread from logger.
warn level printf style method, provided for convenience.
Parameters:
warn level
Returns:
Generated automatically by Doxygen for GNU CommonC++ from the source code.
Wed Oct 31 2018 | GNU CommonC++ |