libosmocore 1.9.0.196-9975
Osmocom core library
log_target Struct Reference

structure representing a logging target More...

#include <logging.h>

Data Fields

struct llist_head entry
 linked list More...
 
int filter_map
 Internal data for filtering. More...
 
void * filter_data [LOG_MAX_FILTERS+1]
 Internal data for filtering. More...
 
struct log_categorycategories
 logging categories More...
 
uint8_t loglevel
 global log level More...
 
unsigned int use_color:1
 should color be used when printing log messages? More...
 
unsigned int print_timestamp:1
 should log messages be prefixed with a timestamp? More...
 
unsigned int print_tid:1
 should log messages be prefixed with the logger Thread ID? More...
 
unsigned int print_filename:1
 DEPRECATED: use print_filename2 instead. More...
 
unsigned int print_category:1
 should log messages be prefixed with a category name? More...
 
unsigned int print_ext_timestamp:1
 should log messages be prefixed with an extended timestamp? More...
 
enum log_target_type type
 the type of this log taget More...
 
union {
   struct {
      FILE *   out
 
      const char *   fname
 
      struct osmo_wqueue *   wqueue
 
   }   tgt_file
 
   struct {
      int   priority
 
      int   facility
 
   }   tgt_syslog
 
   struct {
      void *   vty
 
   }   tgt_vty
 
   struct {
      void *   rb
 
   }   tgt_rb
 
   struct {
      struct gsmtap_inst *   gsmtap_inst
 
      const char *   ident
 
      const char *   hostname
 
   }   tgt_gsmtap
 
   struct {
      bool   raw
 
   }   sd_journal
 
}; 
 
void(* output )(struct log_target *target, unsigned int level, const char *string)
 call-back function to be called when the logging framework wants to log a fully formatted string More...
 
void(* raw_output )(struct log_target *target, int subsys, unsigned int level, const char *file, int line, int cont, const char *format, va_list ap)
 alternative call-back function to which the logging framework passes the unfortmatted input arguments, i.e. More...
 
bool print_level
 
bool print_category_hex
 
enum log_filename_type print_filename2
 
enum log_filename_pos print_filename_pos
 

Detailed Description

structure representing a logging target

Field Documentation

◆ 

union { ... } log_target::@9

◆ categories

◆ entry

◆ facility

int log_target::facility

◆ filter_data

void* log_target::filter_data[LOG_MAX_FILTERS+1]

Internal data for filtering.

◆ filter_map

int log_target::filter_map

Internal data for filtering.

Referenced by log_set_all_filter(), and should_log_to_target().

◆ fname

◆ gsmtap_inst

struct gsmtap_inst* log_target::gsmtap_inst

◆ hostname

const char* log_target::hostname

◆ ident

const char* log_target::ident

◆ loglevel

◆ out

◆ output

void(* log_target::output) (struct log_target *target, unsigned int level, const char *string)

call-back function to be called when the logging framework wants to log a fully formatted string

Parameters
[in]targetlogging target
[in]levellog level of currnet message
[in]stringthe string that is to be written to the log

Referenced by _output(), log_target_create_file_stream(), log_target_create_rb(), log_target_create_stderr(), log_target_file_switch_to_stream(), log_target_file_switch_to_wqueue(), and log_target_systemd_set_raw().

◆ print_category

unsigned int log_target::print_category

should log messages be prefixed with a category name?

Referenced by _output_buf(), and log_set_print_category().

◆ print_category_hex

bool log_target::print_category_hex

◆ print_ext_timestamp

unsigned int log_target::print_ext_timestamp

should log messages be prefixed with an extended timestamp?

Referenced by _output_buf(), and log_set_print_extended_timestamp().

◆ print_filename

unsigned int log_target::print_filename

DEPRECATED: use print_filename2 instead.

Referenced by log_set_print_filename().

◆ print_filename2

enum log_filename_type log_target::print_filename2

◆ print_filename_pos

enum log_filename_pos log_target::print_filename_pos

◆ print_level

bool log_target::print_level

Referenced by _output_buf(), and log_set_print_level().

◆ print_tid

unsigned int log_target::print_tid

should log messages be prefixed with the logger Thread ID?

Referenced by _output_buf(), log_set_print_tid(), and log_target_create().

◆ print_timestamp

unsigned int log_target::print_timestamp

should log messages be prefixed with a timestamp?

Referenced by _output_buf(), log_set_print_extended_timestamp(), log_set_print_timestamp(), and log_target_create().

◆ priority

int log_target::priority

◆ raw

bool log_target::raw

◆ raw_output

void(* log_target::raw_output) (struct log_target *target, int subsys, unsigned int level, const char *file, int line, int cont, const char *format, va_list ap)

alternative call-back function to which the logging framework passes the unfortmatted input arguments, i.e.

bypassing the internal string formatter

Parameters
[in]targetlogging target
[in]subsyslogging sub-system
[in]levellogging level
[in]filesoure code file name
[in]linesource code file line number
[in]contcontinuation of previous statement?
[in]formatformat string
[in]apvararg list of printf arguments

Referenced by log_target_create_file(), log_target_create_gsmtap(), log_target_file_switch_to_stream(), log_target_file_switch_to_wqueue(), log_target_systemd_set_raw(), and osmo_vlogp().

◆ rb

◆ 

struct { ... } log_target::sd_journal

◆ 

◆ 

struct { ... } log_target::tgt_gsmtap

◆ 

◆ 

struct { ... } log_target::tgt_syslog

◆ 

struct { ... } log_target::tgt_vty

◆ type

◆ use_color

unsigned int log_target::use_color

should color be used when printing log messages?

Referenced by _output_buf(), log_set_use_color(), and log_target_create().

◆ vty

void* log_target::vty

◆ wqueue


The documentation for this struct was generated from the following file: