#include <ace/Log_Msg.h>
class ACE_Log_Msg {
public:enum{ STDERR = 1, LOGGER = 2, OSTREAM = 4, MSG_CALLBACK = 8, VERBOSE = 16, VERBOSE_LITE = 32, SILENT = 64 };static ACE_Log_Msg *instance (void);static int exists (void);static void disable_debug_messages ( ACE_Log_Priority priority = LM_DEBUG );static void enable_debug_messages ( ACE_Log_Priority priority = LM_DEBUG );ACE_Log_Msg (void);~ACE_Log_Msg (void);int open ( const ASYS_TCHAR *prog_name, u_long options_flags = ACE_Log_Msg::STDERR, LPCTSTR logger_key = 0 );void set_flags (u_long f);void clr_flags (u_long f);u_long flags (void);int acquire (void);int release (void);void sync (const ASYS_TCHAR *program_name);void op_status (int status);int op_status (void);void errnum (int);int errnum (void);void linenum (int);int linenum (void);void file (const ASYS_TCHAR *);const ASYS_TCHAR *file (void);void msg (const ASYS_TCHAR *);const ASYS_TCHAR *msg (void);void restart (int);int restart (void);void msg_ostream (ostream *);ostream *msg_ostream (void) const;void msg_callback (ACE_Log_Msg_Callback *c);ACE_Log_Msg_Callback *msg_callback (void) const;int inc (void);int dec (void);int trace_depth (void);void trace_depth (int);int trace_active (void);void trace_active (int value);ACE_Thread_Descriptor *thr_desc (void) const;void thr_desc (ACE_Thread_Descriptor *td);ACE_SEH_EXCEPT_HANDLER seh_except_selector (void);ACE_SEH_EXCEPT_HANDLER seh_except_selector ( ACE_SEH_EXCEPT_HANDLER );ACE_SEH_EXCEPT_HANDLER seh_except_handler (void);ACE_SEH_EXCEPT_HANDLER seh_except_handler ( ACE_SEH_EXCEPT_HANDLER );void stop_tracing (void);void start_tracing (void);int tracing_enabled (void);typedef enum { THREAD, PROCESS } MASK_TYPE;u_long priority_mask (MASK_TYPE = THREAD);u_long priority_mask (u_long, MASK_TYPE = THREAD);int log_priority_enabled (ACE_Log_Priority log_priority);pid_t getpid (void) const;const ASYS_TCHAR *local_host (void) const;void local_host (const ASYS_TCHAR *);void set ( const ASYS_TCHAR *file, int line, int op_status = -1, int errnum = 0, int restart = 1, ostream *os = 0, ACE_Log_Msg_Callback *c = 0 );ssize_t log ( ACE_Log_Priority priority, const ASYS_TCHAR *format, ... );ssize_t log ( const ASYS_TCHAR *format, ACE_Log_Priority priority, va_list argp );ssize_t log (ACE_Log_Record &log_record, int suppress_stderr = 0);int log_hexdump ( ACE_Log_Priority log_priority, const char *buffer, int size, const ASYS_TCHAR *text = 0 );void dump (void) const;ACE_ALLOC_HOOK_DECLARE;private:int status_;int errnum_;int linenum_;ASYS_TCHAR file_[MAXPATHLEN + 1];ASYS_TCHAR msg_[ACE_Log_Record::MAXLOGMSGLEN];int restart_;ostream *ostream_;ACE_Log_Msg_Callback *msg_callback_;int trace_depth_;int trace_active_;int tracing_enabled_;ACE_Thread_Descriptor *thr_desc_;ACE_SEH_EXCEPT_HANDLER seh_except_selector_;ACE_SEH_EXCEPT_HANDLER seh_except_handler_;u_long priority_mask_;static u_long process_priority_mask_;static const ASYS_TCHAR *program_name_;static const ASYS_TCHAR *local_host_;static pid_t pid_;static u_long flags_;static int msg_off_;static int instance_count_;static u_long default_priority_mask_;static void close (void);friend void ACE_OS::cleanup_tss (const u_int);ACE_Log_Msg &operator= (const ACE_Log_Msg &);ACE_Log_Msg (const ACE_Log_Msg &);};
static ACE_Log_Msg *instance (void);
static int exists (void);
static void disable_debug_messages (
ACE_Log_Priority priority = LM_DEBUG
);
static void enable_debug_messages (
ACE_Log_Priority priority = LM_DEBUG
);
ACE_Log_Msg (void);
~ACE_Log_Msg (void);
int open (
const ASYS_TCHAR *prog_name,
u_long options_flags = ACE_Log_Msg::STDERR,
LPCTSTR logger_key = 0
);
prog_name is the
name of the executable program. flags are a bitwise-or of
options flags passed to the Logger (see the enum above for the valid
values). If the LOGGER bit in flags is enabled then
logger_key is the name of ACE_FIFO rendezvous point where the
local client logger daemon is listening for logging messages.
void set_flags (u_long f);
void clr_flags (u_long f);
u_long flags (void);
ACE_Log_Msg implementation.
By exporting the lock, applications can hold the lock atomically
over a number of calls to ACE_Log_Msg.
int acquire (void);
int release (void);
void sync (const ASYS_TCHAR *program_name);
fork to resynchronize the process id and
program_name variables.
@@ Does this function mean anything on Windows?
void op_status (int status);
int op_status (void);
void errnum (int);
int errnum (void);
void linenum (int);
int linenum (void);
void file (const ASYS_TCHAR *);
const ASYS_TCHAR *file (void);
void msg (const ASYS_TCHAR *);
const ASYS_TCHAR *msg (void);
void restart (int);
int restart (void);
iostream.h support on CE.
void msg_ostream (ostream *);
ostream *msg_ostream (void) const;
void msg_callback (ACE_Log_Msg_Callback *c);
ACE_Log_Msg_Callback *msg_callback (void) const;
int inc (void);
int dec (void);
int trace_depth (void);
void trace_depth (int);
int trace_active (void);
void trace_active (int value);
ACE_Thread_Descriptor *thr_desc (void) const;
void thr_desc (ACE_Thread_Descriptor *td);
ACE_SEH_EXCEPT_HANDLER seh_except_selector (void);
ACE_SEH_EXCEPT_HANDLER seh_except_selector (ACE_SEH_EXCEPT_HANDLER);
ACE_SEH_EXCEPT_HANDLER seh_except_handler (void);
ACE_SEH_EXCEPT_HANDLER seh_except_handler (ACE_SEH_EXCEPT_HANDLER);
void stop_tracing (void);
void start_tracing (void);
int tracing_enabled (void);
typedef enum { THREAD, PROCESS } MASK_TYPE;
u_long priority_mask (MASK_TYPE = THREAD);
ACE_Log_Priority mask.
u_long priority_mask (u_long, MASK_TYPE = THREAD);
ACE_Log_Priority mask, returns original mask.
int log_priority_enabled (ACE_Log_Priority log_priority);
pid_t getpid (void) const;
const ASYS_TCHAR *local_host (void) const;
void local_host (const ASYS_TCHAR *);
void set (
const ASYS_TCHAR *file,
int line,
int op_status = -1,
int errnum = 0,
int restart = 1,
ostream *os = 0,
ACE_Log_Msg_Callback *c = 0
);
ssize_t log (
ACE_Log_Priority priority,
const ASYS_TCHAR *format,
...
);
unknown" if not set)
'o': print as an octal number
'P': print out the current process id
'p': print out the appropriate errno value from sys_errlist
'Q': print out the uint64 number
'r': call the function pointed to by the corresponding argument
'R': print return status
'S': print out the appropriate _sys_siglist entry corresponding to var-argument.
's': print out a character string
'T': print timestamp in hour:minute:sec:usec format.
'D': print timestamp in month/day/year hour:minute:sec:usec format.
't': print thread id (1 if single-threaded)
'u': print as unsigned int
'W': print out a wide (Unicode) character string (currently Win32 only).
'X', 'x': print as a hex number
'%': print out a single percent sign, '%'
ssize_t log (
const ASYS_TCHAR *format,
ACE_Log_Priority priority,
va_list argp
);
ssize_t log (ACE_Log_Record &log_record, int suppress_stderr = 0);
int log_hexdump (
ACE_Log_Priority log_priority,
const char *buffer,
int size,
const ASYS_TCHAR *text = 0
);
log to do the actual print, but formats first to make the chars
printable.
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
static u_long process_priority_mask_;
ACE_Log_Priority values that
are currently enabled. Default is for all logging priorities to
be enabled.
static const ASYS_TCHAR *program_name_;
static const ASYS_TCHAR *local_host_;
static pid_t pid_;
static u_long flags_;
static int msg_off_;
static int instance_count_;
static u_long default_priority_mask_;
static void close (void);
friend void ACE_OS::cleanup_tss (const u_int);
ACE_Log_Msg &operator= (const ACE_Log_Msg &);
ACE_Log_Msg (const ACE_Log_Msg &);