# log
[utilities]

## Classes
struct | axutil_log_ops
| Axis2 log ops struct. More...
struct | axutil_log
| Axis2 Log struct. More...
## Defines
#define | AXIS2_LOG_FREE(allocator, log) axutil_log_free(allocator, log)
#define | AXIS2_LOG_WRITE(log, buffer, level, file) axutil_log_write(log, buffer, level, file, AXIS2_LOG_SI)
#define | AXIS2_LOG_USER axutil_log_impl_log_user
#define | AXIS2_LOG_DEBUG axutil_log_impl_log_debug
#define | AXIS2_LOG_INFO axutil_log_impl_log_info
#define | AXIS2_LOG_WARNING axutil_log_impl_log_warning
#define | AXIS2_LOG_ERROR axutil_log_impl_log_error
#define | AXIS2_LOG_CRITICAL axutil_log_impl_log_critical
#define | AXIS2_LOG_TRACE axutil_log_impl_log_trace
#define | AXIS2_LOG_PROJECT_PREFIX "[axis2c]"
#define | AXIS2_LOG_USER_MSG(log, msg) AXIS2_LOG_USER (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define | AXIS2_LOG_DEBUG_MSG(log, msg) AXIS2_LOG_DEBUG (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define | AXIS2_LOG_INFO_MSG(log, msg) AXIS2_LOG_INFO (log, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define | AXIS2_LOG_WARNING_MSG(log, msg) AXIS2_LOG_WARNING (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define | AXIS2_LOG_ERROR_MSG(log, msg) AXIS2_LOG_ERROR (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define | AXIS2_LOG_CRITICAL_MSG(log, msg) AXIS2_LOG_CRITICAL (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define | AXIS2_LOG_TRACE_MSG(log, msg) AXIS2_LOG_TRACE (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define | IF_AXIS2_LOG_DEBUG_ENABLED(log) if(AXIS2_LOG_LEVEL_DEBUG <= log->level && log->level != AXIS2_LOG_LEVEL_USER)
#define | AXIS2_LEN_VALUE 6000
## Typedefs
typedef enum axutil_log_levels | axutil_log_levels_t
| Axis2 log levels.
## Enumerations
enum | axutil_log_levels { AXIS2_LOG_LEVEL_CRITICAL = 0, AXIS2_LOG_LEVEL_ERROR, AXIS2_LOG_LEVEL_WARNING, AXIS2_LOG_LEVEL_INFO, AXIS2_LOG_LEVEL_DEBUG, AXIS2_LOG_LEVEL_USER, AXIS2_LOG_LEVEL_TRACE }
| Axis2 log levels. More...
## Functions
AXIS2_EXTERN void | axutil_log_impl_log_critical (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void | axutil_log_impl_log_error (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void | axutil_log_impl_log_warning (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void | axutil_log_impl_log_info (axutil_log_t *log, const axis2_char_t *format,...)
AXIS2_EXTERN void | axutil_log_impl_log_user (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void | axutil_log_impl_log_debug (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void | axutil_log_impl_log_trace (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void | axutil_log_free (axutil_allocator_t *allocator, struct axutil_log *log)
AXIS2_EXTERN void | axutil_log_write (axutil_log_t *log, const axis2_char_t *buffer, axutil_log_levels_t level, const axis2_char_t *file, const int line)
AXIS2_EXTERN axutil_log_t * | axutil_log_create (axutil_allocator_t *allocator, axutil_log_ops_t *ops, const axis2_char_t *stream_name)
AXIS2_EXTERN axis2_char_t * | axutil_log_impl_get_time_str (void)
AXIS2_EXTERN axutil_log_t * | axutil_log_create_default (axutil_allocator_t *allocator)

## Define Documentation

#define AXIS2_LOG_PROJECT_PREFIX "[axis2c]"

Each module/project should undef and define the following..

## Typedef Documentation

typedef enum axutil_log_levels axutil_log_levels_t

Axis2 log levels.

Examples To write debug information to log AXIS2_LOG_DEBUG(log,AXIS2_LOG_SI,"log this %s %d","test",123); This would log "log this test 123" into the log file

similar macros are defined for different log levels: CRITICAL,ERROR,WARNING and INFO and SERVICE

CRITICAL and ERROR logs are always written to file and other logs are written depending on the log level set (log->level)

## Enumeration Type Documentation

enum axutil_log_levels

Axis2 log levels.

Examples To write debug information to log AXIS2_LOG_DEBUG(log,AXIS2_LOG_SI,"log this %s %d","test",123); This would log "log this test 123" into the log file

similar macros are defined for different log levels: CRITICAL,ERROR,WARNING and INFO and SERVICE

CRITICAL and ERROR logs are always written to file and other logs are written depending on the log level set (log->level)

Enumerator:

  AXIS2_LOG_LEVEL_CRITICAL | Critical level, logs only critical errors
  AXIS2_LOG_LEVEL_ERROR | Error level, logs only errors
  AXIS2_LOG_LEVEL_WARNING | Warning level, logs only warnings
  AXIS2_LOG_LEVEL_INFO | Info level, logs information
  AXIS2_LOG_LEVEL_DEBUG | Debug level, logs everything
  AXIS2_LOG_LEVEL_USER | User level, logs only user level debug messages
  AXIS2_LOG_LEVEL_TRACE | Trace level, Enable with compiler time option AXIS2_TRACE

## Function Documentation

AXIS2_EXTERN axutil_log_t* axutil_log_create | ( | axutil_allocator_t * | allocator,
|  | axutil_log_ops_t * | ops,
|  | const axis2_char_t * | stream_name |
| ) |  |  |

Creates a log struct

Parameters:

  | allocator | allocator to be used. Mandatory, cannot be NULL

Returns:
  pointer to the newly created log struct