libosmocore 0.9.6-23.20170220git32ee5af8.fc42
Osmocom core library
Loading...
Searching...
No Matches
logging.h File Reference
#include <stdio.h>
#include <stdint.h>
#include <stdarg.h>
#include <stdbool.h>
#include <osmocom/core/defs.h>
#include <osmocom/core/linuxlist.h>

Go to the source code of this file.

Data Structures

struct  log_category
 
struct  log_info_cat
 Information regarding one logging category. More...
 
struct  log_context
 Log context information, passed to filter. More...
 
struct  log_info
 Logging configuration, passed to log_init. More...
 
struct  log_target
 structure representing a logging target More...
 

Macros

#define LOG_MAX_CTX   8
 Maximum number of logging contexts.
 
#define LOG_MAX_FILTERS   8
 Maximum number of logging filters.
 
#define DEBUG
 
#define DEBUGP(ss, fmt, args...)
 Log a debug message through the Osmocom logging framework.
 
#define DEBUGPC(ss, fmt, args...)
 
#define LOGP(ss, level, fmt, args...)
 Log a new message through the Osmocom logging framework.
 
#define LOGPC(ss, level, fmt, args...)
 Continue a log message through the Osmocom logging framework.
 
#define LOGPSRC(ss, level, caller_file, caller_line, fmt, args...)
 Log through the Osmocom logging framework with explicit source. If caller_file is passed as NULL, BASE_FILE and LINE are used instead of caller_file and caller_line (so that this macro here defines both cases in the same place, and to catch cases where callers fail to pass a non-null filename string).
 
#define LOGL_DEBUG   1
 different log levels
 
#define LOGL_INFO   3
 general information
 
#define LOGL_NOTICE   5
 abnormal/unexpected condition
 
#define LOGL_ERROR   7
 error condition, requires user action
 
#define LOGL_FATAL   8
 fatal, program aborted
 
#define LOG_FILTER_ALL   0x0001
 
#define DLGLOBAL   -1
 
#define DLLAPD   -2
 
#define DLINP   -3
 
#define DLMUX   -4
 
#define DLMI   -5
 
#define DLMIB   -6
 
#define DLSMS   -7
 
#define DLCTRL   -8
 
#define DLGTP   -9
 
#define DLSTATS   -10
 
#define DLGSUP   -11
 
#define DLOAP   -12
 
#define OSMO_NUM_DLIB   12
 

Typedefs

typedef int log_filter(const struct log_context *ctx, struct log_target *target)
 Log filter function.
 
typedef void log_print_filters(struct vty *vty, const struct log_info *info, const struct log_target *tgt)
 
typedef void log_save_filters(struct vty *vty, const struct log_info *info, const struct log_target *tgt)
 

Enumerations

enum  log_target_type {
  LOG_TGT_TYPE_VTY , LOG_TGT_TYPE_SYSLOG , LOG_TGT_TYPE_FILE , LOG_TGT_TYPE_STDERR ,
  LOG_TGT_TYPE_STRRB , LOG_TGT_TYPE_GSMTAP
}
 Type of logging target. More...
 

Functions

void osmo_vlogp (int subsys, int level, const char *file, int line, int cont, const char *format, va_list ap)
 vararg version of logging function
 
void logp (int subsys, const char *file, int line, int cont, const char *format,...) OSMO_DEPRECATED("Use DEBUGP* macros instead")
 logging function used by DEBUGP() macro
 
void logp2 (int subsys, unsigned int level, const char *file, int line, int cont, const char *format,...) __attribute__((format(printf
 
void int log_init (const struct log_info *inf, void *talloc_ctx)
 Initialize the Osmocom logging core.
 
void log_fini (void)
 
int log_check_level (int subsys, unsigned int level)
 Check whether a log entry will be generated.
 
void log_reset_context (void)
 Reset (clear) the logging context.
 
int log_set_context (uint8_t ctx, void *value)
 Set the logging context.
 
void log_set_all_filter (struct log_target *target, int)
 Enable the LOG_FILTER_ALL log filter.
 
void log_set_use_color (struct log_target *target, int)
 Enable or disable the use of colored output.
 
void log_set_print_extended_timestamp (struct log_target *target, int)
 Enable or disable printing of extended timestamps while logging.
 
void log_set_print_timestamp (struct log_target *target, int)
 Enable or disable printing of timestamps while logging.
 
void log_set_print_filename (struct log_target *target, int)
 Enable or disable printing of the filename while logging.
 
void log_set_print_category (struct log_target *target, int)
 Enable or disable printing of the category name.
 
void log_set_log_level (struct log_target *target, int log_level)
 Set the global log level for a given log target.
 
void log_parse_category_mask (struct log_target *target, const char *mask)
 parse the log category mask
 
const char * log_category_name (int subsys)
 
int log_parse_level (const char *lvl)
 Parse a human-readable log level into a numeric value.
 
const char * log_level_str (unsigned int lvl)
 convert a numeric log level into human-readable string
 
int log_parse_category (const char *category)
 parse a human-readable log category into numeric form
 
void log_set_category_filter (struct log_target *target, int category, int enable, int level)
 Set a category filter on a given log target.
 
struct log_targetlog_target_create (void)
 Create a new log target skeleton.
 
void log_target_destroy (struct log_target *target)
 Unregister, close and delete a log target.
 
struct log_targetlog_target_create_stderr (void)
 Create the STDERR log target.
 
struct log_targetlog_target_create_file (const char *fname)
 Create a new file-based log target.
 
struct log_targetlog_target_create_syslog (const char *ident, int option, int facility)
 Create a new logging target for syslog logging.
 
struct log_targetlog_target_create_gsmtap (const char *host, uint16_t port, const char *ident, bool ofd_wq_mode, bool add_sink)
 Create a new logging target for GSMTAP logging.
 
int log_target_file_reopen (struct log_target *tgt)
 close and re-open a log file (for log file rotation)
 
int log_targets_reopen (void)
 close and re-open all log files (for log file rotation)
 
void log_add_target (struct log_target *target)
 Register a new log target with the logging core.
 
void log_del_target (struct log_target *target)
 Unregister a log target from the logging core.
 
const char * log_vty_command_string (const struct log_info *info)
 Generates the logging command string for VTY.
 
const char * log_vty_command_description (const struct log_info *info)
 Generates the logging command description for VTY.
 
struct log_targetlog_target_find (int type, const char *fname)
 Find a registered log target.
 

Variables

struct llist_head osmo_log_target_list