Public Types |
enum | {
STDERR = 1,
LOGGER = 2,
OSTREAM = 4,
MSG_CALLBACK = 8,
VERBOSE = 16,
VERBOSE_LITE = 32,
SILENT = 64,
SYSLOG = 128,
CUSTOM = 256
} |
enum | MASK_TYPE { PROCESS = 0,
THREAD = 1
} |
Public Methods |
| ACE_Log_Msg (void) |
| Initialize logger. More...
|
| ~ACE_Log_Msg (void) |
| cleanup logger. More...
|
int | open (const ACE_TCHAR *prog_name, u_long options_flags=ACE_Log_Msg::STDERR, const ACE_TCHAR *logger_key=0) |
| Initialize the ACE logging facility. More...
|
void | set_flags (u_long f) |
void | clr_flags (u_long f) |
u_long | flags (void) |
void | sync (const ACE_TCHAR *program_name) |
| Call after doing a fork() to resynchronize the process id and program_name_ variables. More...
|
void | op_status (int status) |
| Set the result of the operation status (by convention, -1 means error). More...
|
int | op_status (void) |
| Get the result of the operation status (by convention, -1 means error). More...
|
void | errnum (int) |
| Set the value of the errnum (by convention this corresponds to errno). More...
|
int | errnum (void) |
| Get the value of the errnum (by convention this corresponds to errno). More...
|
void | linenum (int) |
| Set the line number where an error occurred. More...
|
int | linenum (void) |
| Get the line number where an error occurred. More...
|
void | file (const char *) |
| Set the file name where an error occurred. More...
|
const char * | file (void) |
| Get the file name where an error occurred. More...
|
void | msg (const ACE_TCHAR *) |
| Set the message that describes what type of error occurred. More...
|
const ACE_TCHAR * | msg (void) |
| Get the message that describes what type of error occurred. More...
|
void | restart (int) |
| Set the field that indicates whether interrupted calls should be restarted. More...
|
int | restart (void) |
| Get the field that indicates whether interrupted calls should be restarted. More...
|
void | msg_ostream (ACE_OSTREAM_TYPE *) |
| Update the ostream without overwriting the delete_ostream_ flag. More...
|
void | msg_ostream (ACE_OSTREAM_TYPE *, int delete_ostream) |
ACE_OSTREAM_TYPE * | msg_ostream (void) const |
| Get the ostream that is used to print error messages. More...
|
ACE_Log_Msg_Callback * | msg_callback (ACE_Log_Msg_Callback *c) |
ACE_Log_Msg_Callback * | msg_callback (void) const |
int | inc (void) |
| Nesting depth increment. More...
|
int | dec (void) |
| Nesting depth decrement. More...
|
int | trace_depth (void) |
| Get trace depth. More...
|
void | trace_depth (int) |
| Set trace depth. More...
|
int | trace_active (void) |
| Set trace active status. More...
|
void | trace_active (int value) |
| Get trace active status. More...
|
ACE_Thread_Descriptor * | thr_desc (void) const |
| Get the TSS thread descriptor. More...
|
void | thr_desc (ACE_Thread_Descriptor *td) |
void | stop_tracing (void) |
| Stop tracing status on a per-thread basis... More...
|
void | start_tracing (void) |
| Start tracing status on a per-thread basis... More...
|
int | tracing_enabled (void) |
| Query tracing status on a per-thread basis... More...
|
u_long | priority_mask (MASK_TYPE=THREAD) |
| Get the current ACE_Log_Priority mask. More...
|
u_long | priority_mask (u_long, MASK_TYPE=THREAD) |
| Set the ACE_Log_Priority mask, returns original mask. More...
|
int | log_priority_enabled (ACE_Log_Priority log_priority) |
| Return true if the requested priority is enabled. More...
|
int | log_priority_enabled (ACE_Log_Priority log_priority, const char *,...) |
| Return true if the requested priority is enabled. More...
|
pid_t | getpid (void) const |
| Optimize reading of the pid (avoids a system call if the value is cached...). More...
|
const ACE_TCHAR * | local_host (void) const |
| Get the name of the local host. More...
|
void | local_host (const ACE_TCHAR *) |
| Set the name of the local host. More...
|
void | set (const char *file, int line, int op_status=-1, int errnum=0, int restart=1, ACE_OSTREAM_TYPE *os=0, ACE_Log_Msg_Callback *c=0) |
void | conditional_set (const char *file, int line, int op_status, int errnum) |
| These values are only actually set if the requested priority is enabled. More...
|
ssize_t | log (ACE_Log_Priority priority, const ACE_TCHAR *format,...) |
ssize_t | log (ACE_Log_Priority priority, const ACE_ANTI_TCHAR *format,...) |
ssize_t | log (const ACE_TCHAR *format, ACE_Log_Priority priority, va_list argp) |
ssize_t | log (ACE_Log_Record &log_record, int suppress_stderr=0) |
| Log a custom built log record to the currently enabled logging sinks. More...
|
int | log_hexdump (ACE_Log_Priority log_priority, const char *buffer, size_t size, const ACE_TCHAR *text=0) |
void | dump (void) const |
| Dump the state of an object. More...
|
|
lock
This lock is used internally by the 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) |
| Acquire the internal lock. More...
|
int | release (void) |
| Release the internal lock. More...
|
Static Public Methods |
ACE_Log_Msg * | instance (void) |
| Returns a pointer to the Singleton. More...
|
int | last_error_adapter (void) |
| Returns last error. More...
|
int | exists (void) |
| Returns non-null if an ACE_Log_Msg exists for the calling thread. More...
|
const ACE_TCHAR * | program_name (void) |
| Returns the current program name used for logging. More...
|
void | disable_debug_messages (ACE_Log_Priority priority=LM_DEBUG) |
| Clears the flag from the default priority mask used to initialize ACE_Log_Msg instances. More...
|
void | enable_debug_messages (ACE_Log_Priority priority=LM_DEBUG) |
| Sets the flag in the default priority mask used to initialize ACE_Log_Msg instances. More...
|
ACE_Log_Msg_Backend * | msg_backend (ACE_Log_Msg_Backend *b) |
ACE_Log_Msg_Backend * | msg_backend (void) |
void | init_hook (ACE_OS_Log_Msg_Attributes &attributes) |
void | inherit_hook (ACE_OS_Thread_Descriptor *thr_desc, ACE_OS_Log_Msg_Attributes &attributes) |
Public Attributes |
| ACE_ALLOC_HOOK_DECLARE |
| Declare the dynamic allocation hooks. More...
|
Private Methods |
ACE_Log_Msg & | operator= (const ACE_Log_Msg &) |
| ACE_Log_Msg (const ACE_Log_Msg &) |
Static Private Methods |
void | close (void) |
| For cleanup, at program termination. More...
|
void | sync_hook (const ACE_TCHAR *prg_name) |
| Decouple the OS layer from the ACE_Log_Msg layer. More...
|
ACE_OS_Thread_Descriptor * | thr_desc_hook (void) |
| Return the TSS singleton thread descriptor. More...
|
Private Attributes |
int | status_ |
| Status of operation (-1 means failure, >= 0 means success). More...
|
int | errnum_ |
| Type of error that occurred (see <sys/errno.h>). More...
|
int | linenum_ |
| Line number where the error occurred. More...
|
char | file_ [MAXPATHLEN+1] |
| File where the error occurred. More...
|
ACE_TCHAR | msg_ [ACE_MAXLOGMSGLEN+1] |
| The log message, which resides in thread-specific storage. Note that only the current log message is stored here -- it will be overwritten by the subsequent call to log(). More...
|
int | restart_ |
| Indicates whether we should restart system calls that are interrupted. More...
|
ACE_OSTREAM_TYPE * | ostream_ |
| The ostream where logging messages can be written. More...
|
ACE_Log_Msg_Callback * | msg_callback_ |
| The callback object. More...
|
int | trace_depth_ |
| Depth of the nesting for printing traces. More...
|
int | trace_active_ |
| Are we already within an ACE_Trace constructor call? More...
|
int | tracing_enabled_ |
| Are we allowing tracing in this thread? More...
|
int | delete_ostream_ |
| Are we deleting this ostream? More...
|
ACE_Thread_Descriptor * | thr_desc_ |
u_long | priority_mask_ |
struct { |
int is_set_ |
const char * file_ |
int line_ |
int op_status_ |
int errnum_ |
} | conditional_values_ |
| Anonymous struct since there will only be one instance. This struct keeps information stored away in case we actually end up calling log() if the log priority is correct. More...
|
Static Private Attributes |
u_long | process_priority_mask_ |
| Default per-process priority mask By default, all priorities are enabled. More...
|
const ACE_TCHAR * | program_name_ = 0 |
| Records the program name. More...
|
const ACE_TCHAR * | local_host_ = 0 |
| Name of the local host (used when printing messages). More...
|
pid_t | pid_ = -1 |
| Process id of the current process. More...
|
u_long | flags_ = ACE_Log_Msg::STDERR |
| Options flags used to hold the logger flag options, e.g., STDERR, LOGGER, OSTREAM, MSG_CALLBACK, etc. More...
|
int | msg_off_ = 0 |
| Offset of msg_[]. More...
|
int | instance_count_ = 0 |
| Instance count for Log_Msg - used to know when dynamically allocated storage (program name and host name) can be safely deleted. More...
|
u_long | default_priority_mask_ = 0 |
| Default per-thread priority mask By default, no priorities are enabled. More...
|
This class is very flexible since it allows formatted error messages to be printed in a thread-safe manner to various locations, such as stdout, stderr, cerr, a distributed logger, etc. The current message is also kept in a thread-specific storage location (threads spawned using ACE_Thread_Manager automatically get an ACE_Log_Msg object that inherits the spawning thread's settings), which can be used to communicate errors between framework methods and callers. A message is logged by the log() method, only if the message priority is currently enabled. Moreover, only the current log message is stored here -- it will be overwritten by the subsequent call to log().
The ACE_Log_Msg class uses two priority masks to control its logging behavior. The priority_mask_
object attribute is thread- specific and specifies the priority levels logged by the thread. The process_priority_mask_
class attribute is not thread-specific and specifies the priority levels that will be logged by all threads in the process. By default, all levels are disabled for priority_mask_
and all levels are enabled for process_priority_mask_
(i.e. the process-wide mask controls the settings, and each instance can expand on it if desired). Both priority masks can be modified using the priority_mask() method of this class.