GATE
logging.h File Reference

Logging and log storage utilities. More...

#include "gate/io/gate_io_api.h"
#include "gate/gatetypes.h"
#include "gate/processes.h"
#include "gate/threading.h"
#include "gate/strings.h"
#include "gate/synchronization.h"

Classes

struct  gate_log_entry_header_class
 
struct  gate_log_entry_class
 
struct  gate_logger_class
 
struct  gate_filelogger_class
 

Macros

#define GATE_LOG_TYPE_DEBUG   1
 
#define GATE_LOG_TYPE_INFO   100
 
#define GATE_LOG_TYPE_STATUS   200
 
#define GATE_LOG_TYPE_WARN   300
 
#define GATE_LOG_TYPE_ERROR   400
 
#define GATE_LOG_TYPE_FATAL   500
 
#define GATE_LOG_TYPE_SUCCESS
 
#define GATE_LOG_DEBUG(logger, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_DEBUG, 0, 0, (origin), (message))
 
#define GATE_LOG_INFO(logger, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_INFO, 0, 0, (origin), (message))
 
#define GATE_LOG_STATUS(logger, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_STATUS, 0, 0, (origin), (message))
 
#define GATE_LOG_WARN(logger, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_WARN, 0, 0, (origin), (message))
 
#define GATE_LOG_ERROR(logger, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_ERROR, 0, 0, (origin), (message))
 
#define GATE_LOG_FATAL(logger, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_FATAL, 0, 0, (origin), (message))
 
#define GATE_LOG_FAIL_DEBUG(logger, result, code, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_DEBUG, (result), (code), (origin), (message))
 
#define GATE_LOG_FAIL_INFO(logger, result, code, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_INFO, (result), (code), (origin), (message))
 
#define GATE_LOG_FAIL_STATUS(logger, result, code, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_STATUS, (result), (code), (origin), (message))
 
#define GATE_LOG_FAIL_WARN(logger, result, code, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_WARN, (result), (code), (origin), (message))
 
#define GATE_LOG_FAIL_ERROR(logger, result, code, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_ERROR, (result), (code), (origin), (message))
 
#define GATE_LOG_FAIL_FATAL(logger, result, code, origin, message)   gate_log_str((logger), GATE_LOG_TYPE_FATAL, (result), (code), (origin), (message))
 

Typedefs

typedef struct gate_log_entry_header_class gate_log_entry_header_t
 
typedef struct gate_log_entry_class gate_log_entry_t
 
typedef struct gate_logger_class gate_logger_t
 
typedef struct gate_filelogger_class gate_filelogger_t
 

Functions

GATE_IO_API gate_result_t gate_filelogger_create (gate_filelogger_t *logger, gate_string_t const *output_file, gate_uint32_t log_level)
 
GATE_IO_API gate_result_t gate_filelogger_destroy (gate_filelogger_t *logger)
 
GATE_IO_API gate_result_t gate_log (gate_logger_t const *logger, gate_uint32_t log_type, gate_result_t result_code, gate_int32_t native_code, gate_string_t const *origin, gate_string_t const *message)
 
GATE_IO_API gate_result_t gate_log_str (gate_logger_t const *logger, gate_uint32_t log_type, gate_result_t result_code, gate_int32_t native_code, char const *origin, char const *message)
 
GATE_IO_API gate_bool_t gate_log_enabled (gate_logger_t const *logger, gate_uint32_t log_type)
 
GATE_IO_API gate_result_t gate_logger_start (gate_string_t const *output_file, gate_uint32_t log_level)
 
GATE_IO_API gate_logger_t const * gate_logger_get ()
 
GATE_IO_API gate_result_t gate_logger_stop ()
 
GATE_IO_API gate_result_t gate_syslog_start ()
 
GATE_IO_API gate_logger_t const * gate_syslog_get ()
 
GATE_IO_API gate_result_t gate_syslog_stop ()
 

Detailed Description

Logging and log storage utilities.

Macro Definition Documentation

◆ GATE_LOG_TYPE_DEBUG

#define GATE_LOG_TYPE_DEBUG   1

development/debugging logs

◆ GATE_LOG_TYPE_ERROR

#define GATE_LOG_TYPE_ERROR   400

an error during an operation that interrupts current processing

◆ GATE_LOG_TYPE_FATAL

#define GATE_LOG_TYPE_FATAL   500

a critical error that makes further processing impossible

◆ GATE_LOG_TYPE_INFO

#define GATE_LOG_TYPE_INFO   100

operation progress info (logs steps in an operation)

◆ GATE_LOG_TYPE_STATUS

#define GATE_LOG_TYPE_STATUS   200

operation status info (logs the final state in an operation)

◆ GATE_LOG_TYPE_WARN

#define GATE_LOG_TYPE_WARN   300

logs a warning or non-interrupting error during an operation