16 #include <sys/types.h>
90 void sign_on (
const string& func_name_);
118 int log_open (
const std::string& logsvr_,
const char* logfname_,
136 #define LOGGER ASSA::Logger::get_instance()
248 sign_on (
const string& func_name_)
270 #if defined (ASSA_NLOGGING)
271 # define DL(X) do {} while (0)
282 #if defined (ASSA_NLOGGING)
283 # define EL(X) do {} while (0)
288 LOGGER->log_msg(ASSA::ASSAERR,"errno: %d \"%s\"\n", errno, strerror(errno)); \
307 LOGGER->set_app_name (appname_);
321 u_long maxsize_ = 10485760)
323 return LOGGER->log_open (logfname_, groups_, maxsize_);
329 return LOGGER->log_open (groups_);
345 const char* logfname_,
348 u_long maxsize_ = 10485760)
350 int ret =
LOGGER->log_open (logsvraddr_, logfname_, groups_,
397 : m_fname (fn_), m_mask (mask_)
429 #define trace(s) ASSA::DiagnosticContext tRaCeR(s);
437 #define trace_with_mask(s, m) ASSA::DiagnosticContext tRaCeR(s, m);
#define LOGGER
A shortcut to locate a singleton object of class Logger.
A Hex/Ascii memory dump of similar to od(1) UNIX utility.
Singleton template class allows to turn any new or existing class T into Singleton Pattern.
Class DiagnosticContext tracks who deep a function is in the calling stack.
DiagnosticContext(const char *fn_, u_long mask_=TRACE)
DiagnosticContext(const DiagnosticContext &)
DiagnosticContext & operator=(const DiagnosticContext &)
bool group_enabled(Group g_) const
void enable_all_groups(void)
virtual void log_resync(void)
bool timestamp_enabled(void) const
void disable_all_groups(void)
void enable_timestamp(void)
void disable_groups(u_long g_)
void disable_timestamp(void)
void enable_group(Group g_)
void set_timezone(int zone_)
void disable_group(Group g_)
void enable_groups(u_long g_)
void sign_on(const string &func_name_)
int log_msg(u_long g_, const char *fmt_,...)
Here is an interesting twist introduced by remote logging server:
void disable_timestamp(void)
int log_open(u_long groups_)
Write log messages to standard output.
void enable_timestamp(void)
Add optional timezone: GMT vs. Local.
int log_func(u_long g_, marker_t type_)
void set_timezone(int zone)
0 - GMT, 1 - LOCAL
void disable_groups(u_long groups_)
Disable logging for groups_.
void set_app_name(const std::string &appname_)
Set application name.
void disable_group(Group g_)
Disable logging for group g_.
void enable_group(Group g_)
Enable logging for group g_.
void enable_all_groups(void)
std::string m_app_name
Stack of all contexts.
void enable_groups(u_long groups_)
Enable logging for groups_.
bool group_enabled(Group g_) const
stack< string > m_context
Logger implementation.
bool timestamp_enabled(void) const
void disable_all_groups(void)
int open_log_file(const char *logfname_, u_long groups_=ALL, u_long maxsize_=10485760)
Open log file.
void disable_timestamp(void)
Disable timestamp logging.
void enable_timestamp(void)
Enable timestamp logging.
int log_close(void)
Close logging stream.
void log_resync(void)
Resynchronize logging stream after Fork.
void set_app_name(const std::string &appname_)
Set application name.
int open_log_server(const std::string &logsvraddr_, const char *logfname_, Reactor *reactor_, u_long groups_=ASSA::ALL, u_long maxsize_=10485760)
Open connection with and write log message to the log server.
int open_log_stdout(u_long groups_=ALL)
Write log message to standard output.
void set_gmt_timezone(void)
Set timezone to GMT.
@ TRACE
Function call trace
@ ALL
All messages: library + application