VLC 4.0.0-dev
|
Data Structures | |
struct | vlc_logger |
struct | vlc_log_early_t |
Early (latched) message log. More... | |
struct | vlc_logger_early |
struct | vlc_logger_switch |
Switchable message log. More... | |
struct | vlc_logger_module |
Module-based message log. More... | |
struct | vlc_logger_header |
Message log with "header". More... | |
struct | vlc_logger_external |
External custom log callback. More... | |
Typedefs | |
typedef struct vlc_log_early_t | vlc_log_early_t |
Early (latched) message log. More... | |
typedef struct vlc_logger_early | vlc_logger_early_t |
Functions | |
static void | vlc_LogSpam (vlc_object_t *obj) |
static void | vlc_vaLogCallback (vlc_logger_t *logger, int type, const vlc_log_t *item, const char *format, va_list ap) |
static void | vlc_LogCallback (vlc_logger_t *logger, int type, const vlc_log_t *item, const char *format,...) |
void | vlc_vaLog (struct vlc_logger *const *loggerp, int type, const char *typename, const char *module, const char *file, unsigned line, const char *func, const char *format, va_list args) |
void | vlc_Log (struct vlc_logger *const *logger, int type, const char *typename, const char *module, const char *file, unsigned line, const char *func, const char *format,...) |
static void | vlc_vaLogEarly (void *d, int type, const vlc_log_t *item, const char *format, va_list ap) |
static void | vlc_LogEarlyClose (void *d) |
static struct vlc_logger * | vlc_LogEarlyOpen (struct vlc_logger *logger) |
static void | vlc_vaLogDiscard (void *d, int type, const vlc_log_t *item, const char *format, va_list ap) |
static void | vlc_LogDiscardClose (void *d) |
static void | vlc_vaLogSwitch (void *d, int type, const vlc_log_t *item, const char *format, va_list ap) |
static void | vlc_LogSwitch (vlc_logger_t *logger, vlc_logger_t *new_logger) |
static void | vlc_LogSwitchClose (void *d) |
static struct vlc_logger * | vlc_LogSwitchCreate (void) |
static int | vlc_logger_load (void *func, bool forced, va_list ap) |
static void | vlc_vaLogModule (void *d, int type, const vlc_log_t *item, const char *format, va_list ap) |
static void | vlc_LogModuleClose (void *d) |
static struct vlc_logger * | vlc_LogModuleCreate (vlc_object_t *parent) |
void | vlc_LogInit (libvlc_int_t *vlc) |
Initializes the messages logging subsystem and drain the early messages to the configured log. More... | |
int | vlc_LogPreinit (libvlc_int_t *vlc) |
Performs preinitialization of the messages logging subsystem. More... | |
static void | vlc_vaLogHeader (void *d, int type, const vlc_log_t *item, const char *format, va_list ap) |
struct vlc_logger * | vlc_LogHeaderCreate (struct vlc_logger *parent, const char *str) |
Creates a prefixed message log. More... | |
static void | vlc_vaLogExternal (void *d, int type, const vlc_log_t *item, const char *format, va_list ap) |
static void | vlc_LogExternalClose (void *d) |
static struct vlc_logger * | vlc_LogExternalCreate (const struct vlc_logger_operations *ops, void *opaque) |
void | vlc_LogSet (libvlc_int_t *vlc, const struct vlc_logger_operations *ops, void *opaque) |
Sets the message logging callback. More... | |
void | vlc_LogDestroy (vlc_logger_t *logger) |
Destroys a message log. More... | |
Variables | |
static const struct vlc_logger_operations | early_ops |
static const struct vlc_logger_operations | discard_ops |
static struct vlc_logger | discard_log = { &discard_ops } |
static const struct vlc_logger_operations | switch_ops |
static const struct vlc_logger_operations | module_ops |
static const struct vlc_logger_operations | header_ops |
static const struct vlc_logger_operations | external_ops |
typedef struct vlc_log_early_t vlc_log_early_t |
Early (latched) message log.
A message log that stores messages in memory until another log is available.
typedef struct vlc_logger_early vlc_logger_early_t |
|
static |
References vlc_vaLogCallback().
Referenced by vlc_LogEarlyClose().
|
static |
|
static |
|
static |
References early_ops, vlc_logger_early::head, vlc_logger_early::lock, vlc_logger_early::logger, vlc_logger::ops, vlc_logger_early::sink, vlc_logger_early::tailp, unlikely, and vlc_mutex_init().
Referenced by vlc_LogPreinit().
|
static |
|
static |
References external_ops, vlc_logger_external::logger, vlc_logger_external::opaque, vlc_logger::ops, vlc_logger_external::ops, and unlikely.
Referenced by vlc_LogSet().
|
static |
References vlc_logger_module::opaque, vlc_logger_module::ops, VLC_EGENERIC, VLC_OBJECT, and VLC_SUCCESS.
Referenced by vlc_LogModuleCreate().
void vlc_LogInit | ( | libvlc_int_t * | vlc | ) |
Initializes the messages logging subsystem and drain the early messages to the configured log.
References discard_log, vlc_object_t::logger, libvlc_int_t::obj, vlc_LogModuleCreate(), vlc_LogSwitch(), and VLC_OBJECT.
Referenced by libvlc_InternalInit().
|
static |
|
static |
References vlc_logger_module::frontend, module_ops, vlc_logger::ops, unlikely, vlc_custom_create, vlc_logger_load(), vlc_module_load, VLC_OBJECT, and vlc_object_delete.
Referenced by vlc_LogInit().
int vlc_LogPreinit | ( | libvlc_int_t * | vlc | ) |
Performs preinitialization of the messages logging subsystem.
Early log messages will be stored in memory until the subsystem is fully initialized with vlc_LogInit(). This enables logging before the configuration and modules bank are ready.
References vlc_object_t::logger, libvlc_int_t::obj, unlikely, vlc_LogEarlyOpen(), vlc_LogSpam(), vlc_LogSwitch(), vlc_LogSwitchCreate(), and VLC_OBJECT.
Referenced by libvlc_InternalInit().
|
static |
References msg_Dbg, and psz_vlc_changeset.
Referenced by vlc_LogPreinit(), and vlc_LogSet().
|
static |
References vlc_logger_switch::backend, container_of, vlc_logger_operations::destroy, discard_log, vlc_logger_switch::frontend, vlc_logger::ops, switch_ops, and vlc_rcu_synchronize().
Referenced by vlc_LogInit(), vlc_LogPreinit(), vlc_LogSet(), and vlc_LogSwitchClose().
|
static |
References container_of, discard_log, vlc_logger_switch::frontend, and vlc_LogSwitch().
|
static |
References vlc_logger_switch::backend, discard_log, vlc_logger_switch::frontend, vlc_logger::ops, switch_ops, and unlikely.
Referenced by vlc_LogPreinit().
|
static |
References vlc_logger_operations::log, vlc_logger::ops, vlc_restorecancel(), and vlc_savecancel().
Referenced by vlc_LogCallback(), and vlc_vaLog().
|
static |
|
static |
References container_of, vlc_log_t::file, vlc_log_t::func, vlc_log_t::i_object_id, vlc_log_t::line, vlc_logger_early::lock, vlc_logger_early::logger, vlc_log_early_t::meta, vlc_log_early_t::msg, vlc_log_early_t::next, vlc_log_t::psz_header, vlc_log_t::psz_module, vlc_log_t::psz_object_type, strdup(), vlc_logger_early::tailp, vlc_log_early_t::type, unlikely, vasprintf(), vlc_mutex_lock(), and vlc_mutex_unlock().
|
static |
References vlc_logger_operations::log, vlc_logger_external::opaque, and vlc_logger_external::ops.
|
static |
|
static |
|
static |
|
static |
Referenced by vlc_LogInit(), vlc_LogSet(), vlc_LogSwitch(), vlc_LogSwitchClose(), and vlc_LogSwitchCreate().
|
static |
|
static |
Referenced by vlc_LogEarlyOpen().
|
static |
Referenced by vlc_LogExternalCreate().
|
static |
Referenced by vlc_LogHeaderCreate().
|
static |
Referenced by vlc_LogModuleCreate().
|
static |
Referenced by vlc_LogSwitch(), and vlc_LogSwitchCreate().