libvlc_log_* functions provide access to the LibVLC messages log.
More...
libvlc_log_* functions provide access to the LibVLC messages log.
This is used for logging and debugging.
◆ libvlc_log_cb
typedef void(* libvlc_log_cb) (void *data, int level, const libvlc_log_t *ctx, const char *fmt, va_list args) |
Callback prototype for LibVLC log message handler.
- Parameters
-
data | data pointer as given to libvlc_log_set() |
level | message level (libvlc_log_level) |
ctx | message context (meta-information about the message) |
fmt | printf() format string (as defined by ISO C11) |
args | variable argument list for the format |
- Note
- Log message handlers must be thread-safe.
- Warning
- The message context pointer, the format string parameters and the variable arguments are only valid until the callback returns.
◆ libvlc_log_t
◆ libvlc_log_level
Logging messages level.
- Note
- Future LibVLC versions may define new levels.
Enumerator |
---|
LIBVLC_DEBUG | Debug message.
|
LIBVLC_NOTICE | Important informational message.
|
LIBVLC_WARNING | Warning (potential error) message.
|
LIBVLC_ERROR | Error message.
|
◆ libvlc_log_get_context()
void libvlc_log_get_context |
( |
const libvlc_log_t * |
ctx, |
|
|
const char ** |
module, |
|
|
const char ** |
file, |
|
|
unsigned * |
line |
|
) |
| |
Gets log message debug infos.
This function retrieves self-debug information about a log message:
- the name of the VLC module emitting the message,
- the name of the source code module (i.e. file) and
- the line number within the source code module.
The returned module name and file name will be NULL if unknown. The returned line number will similarly be zero if unknown.
- Parameters
-
ctx | message context (as passed to the libvlc_log_cb callback) |
module | module name storage (or NULL) [OUT] |
file | source code file name storage (or NULL) [OUT] |
line | source code file line number storage (or NULL) [OUT] |
- Warning
- The returned module name and source code file name, if non-NULL, are only valid until the logging callback returns.
- Version
- LibVLC 2.1.0 or later
◆ libvlc_log_get_object()
void libvlc_log_get_object |
( |
const libvlc_log_t * |
ctx, |
|
|
const char ** |
name, |
|
|
const char ** |
header, |
|
|
uintptr_t * |
id |
|
) |
| |
Gets log message info.
This function retrieves meta-information about a log message:
- the type name of the VLC object emitting the message,
- the object header if any, and
- a temporaly-unique object identifier.
This information is mainly meant for manual troubleshooting.
The returned type name may be "generic" if unknown, but it cannot be NULL. The returned header will be NULL if unset; in current versions, the header is used to distinguish for VLM inputs. The returned object ID will be zero if the message is not associated with any VLC object.
- Parameters
-
ctx | message context (as passed to the libvlc_log_cb callback) |
name | object name storage (or NULL) [OUT] |
header | object header (or NULL) [OUT] |
id | temporarily-unique object identifier (or 0) [OUT] |
- Warning
- The returned module name and source code file name, if non-NULL, are only valid until the logging callback returns.
- Version
- LibVLC 2.1.0 or later
◆ libvlc_log_set()
Sets the logging callback for a LibVLC instance.
This function is thread-safe: it will wait for any pending callbacks invocation to complete.
- Parameters
-
cb | callback function pointer |
data | opaque data pointer for the callback function |
- Note
- Some log messages (especially debug) are emitted by LibVLC while is being initialized. These messages cannot be captured with this interface.
- Warning
- A deadlock may occur if this function is called from the callback.
- Parameters
-
p_instance | libvlc instance |
- Version
- LibVLC 2.1.0 or later
◆ libvlc_log_set_file()
Sets up logging to a file.
- Parameters
-
p_instance | libvlc instance |
stream | FILE pointer opened for writing (the FILE pointer must remain valid until libvlc_log_unset()) |
- Version
- LibVLC 2.1.0 or later
◆ libvlc_log_unset()
Unsets the logging callback.
This function deregisters the logging callback for a LibVLC instance. This is rarely needed as the callback is implicitly unset when the instance is destroyed.
- Note
- This function will wait for any pending callbacks invocation to complete (causing a deadlock if called from within the callback).
- Parameters
-
p_instance | libvlc instance |
- Version
- LibVLC 2.1.0 or later