logging tools
[utils]

Defines

#define GF_LOG(_log_level, _log_tools, __args)
 Message logging.

Typedefs

typedef void(* gf_log_cbk )(void *cbck, u32 log_level, u32 log_tool, const char *fmt, va_list vlist)
 Log Message Callback.

Enumerations

enum  {
  GF_LOG_QUIET = 0, GF_LOG_ERROR, GF_LOG_WARNING, GF_LOG_INFO,
  GF_LOG_DEBUG
}
enum  {
  GF_LOG_CORE = 0, GF_LOG_CODING, GF_LOG_CONTAINER, GF_LOG_NETWORK,
  GF_LOG_RTP, GF_LOG_AUTHOR, GF_LOG_SYNC, GF_LOG_CODEC,
  GF_LOG_PARSER, GF_LOG_MEDIA, GF_LOG_SCENE, GF_LOG_SCRIPT,
  GF_LOG_INTERACT, GF_LOG_COMPOSE, GF_LOG_CACHE, GF_LOG_MMIO,
  GF_LOG_RTI, GF_LOG_SMIL, GF_LOG_MEMORY, GF_LOG_AUDIO,
  GF_LOG_MODULE, GF_LOG_MUTEX, GF_LOG_CONDITION, GF_LOG_DASH,
  GF_LOG_CONSOLE, GF_LOG_APP, GF_LOG_SCHEDULER, GF_LOG_ALL,
  GF_LOG_TOOL_MAX = GF_LOG_ALL
}

Functions

void gf_log_set_strict_error (Bool strict)
 Log exits at first error assignment.
char * gf_log_get_tools_levels ()
 gets string-formated log tools
void gf_log_set_tool_level (u32 tool, u32 level)
 Log modules assignment.
gf_log_cbk gf_log_set_callback (void *usr_cbk, gf_log_cbk cbk)
 Log overwrite.
void gf_log (const char *fmt,...)
void gf_log_lt (u32 ll, u32 lt)
Bool gf_log_tool_level_on (u32 log_tool, u32 log_level)
 Log level checking.
GF_Err gf_log_set_tools_levels (const char *log_tools_levels)
 Set log tools and levels.
GF_Err gf_log_modify_tools_levels (const char *val)
 Modify log tools and levels.

Define Documentation

#define GF_LOG ( _log_level,
_log_tools,
__args   ) 

Macro for logging messages. Usage is GF_LOG(log_lev, log_module, (fmt, ...)). The log function is only called if log filtering allows it. This avoids fetching logged parameters when the tool is not being logged.


Typedef Documentation

typedef void(* gf_log_cbk)(void *cbck, u32 log_level, u32 log_tool, const char *fmt, va_list vlist)

The gf_log_cbk type is the type for the callback of the gf_log_set_callback function. By default all logs are redirected to stderr

Parameters:
cbck Opaque user data.
log_level level of the log. This value is not guaranteed in multi-threaded context.
log_tool tool emitting the log. This value is not guaranteed in multi-threaded context.
fmt message log format.
vlist message log param.

Enumeration Type Documentation

anonymous enum

GPAC Log Levels

These levels describes messages priority used when filtering logs

Enumerator:
GF_LOG_QUIET 

Disable all Log message

GF_LOG_ERROR 

Log message describes an error

GF_LOG_WARNING 

Log message describes a warning

GF_LOG_INFO 

Log message is informational (state, etc..)

GF_LOG_DEBUG 

Log message is a debug info

anonymous enum

GPAC Log tools

These flags describes which sub-part of GPAC generates the log and are used when filtering logs

Enumerator:
GF_LOG_CORE 

Log message from the core library (init, threads, network calls, etc)

GF_LOG_CODING 

Log message from a raw media parser (BIFS, LASeR, A/V formats)

GF_LOG_CONTAINER 

Log message from a bitstream parser (IsoMedia, MPEG-2 TS, OGG, ...)

GF_LOG_NETWORK 

Log message from the network/service stack (messages & co)

GF_LOG_RTP 

Log message from the RTP/RTCP stack (TS info) and packet structure & hinting (debug)

GF_LOG_AUTHOR 

Log message from authoring subsystem (file manip, import/export)

GF_LOG_SYNC 

Log message from the sync layer of the terminal

GF_LOG_CODEC 

Log message from a codec

GF_LOG_PARSER 

Log message from any XML parser (context loading, etc)

GF_LOG_MEDIA 

Log message from the terminal/compositor, indicating media object state

GF_LOG_SCENE 

Log message from the scene graph/scene manager (handling of nodes and attribute modif, DOM core)

GF_LOG_SCRIPT 

Log message from the scripting engine APIs - does not cover alert() in the script code itself

GF_LOG_INTERACT 

Log message from event handling

GF_LOG_COMPOSE 

Log message from compositor

GF_LOG_CACHE 

Log for video object cache

GF_LOG_MMIO 

Log message from multimedia I/O devices (audio/video input/output, ...)

GF_LOG_RTI 

Log for runtime info (times, memory, CPU usage)

GF_LOG_SMIL 

Log for SMIL timing and animation

GF_LOG_MEMORY 

Log for memory tracker

GF_LOG_AUDIO 

Log for audio compositor

GF_LOG_MODULE 

Generic Log for modules

GF_LOG_MUTEX 

Log for threads and mutexes

GF_LOG_CONDITION 

Log for threads and condition

GF_LOG_DASH 

Log for all HTTP streaming

GF_LOG_CONSOLE 

Log for all messages coming from GF_Terminal or script alert()

GF_LOG_APP 

Log for all messages coming the application, not used by libgpac or the modules

GF_LOG_SCHEDULER 

Log for all messages coming from the scheduler

GF_LOG_ALL 

special value used to set a level for all tools


Function Documentation

void gf_log_set_strict_error ( Bool  strict  ) 

When GF_LOG_ERROR happens, program leaves with instruction exit(1);

Parameters:
strict strict behaviour when encoutering a serious error.
char* gf_log_get_tools_levels (  ) 

Returns the string-formatted log tools and levels. Returned string shall be freed by the caller.

Returns:
string-formatted log tools.
void gf_log_set_tool_level ( u32  tool,
u32  level 
)

Set log level for a given tool.

Sets the tools to be checked for log filtering. By default no logging is performed.

Parameters:
tool tool to be logged.
level level of logging for this tool.

Set log level for a given tool.

Parameters:
tool tool to log
level log level for this tool
gf_log_cbk gf_log_set_callback ( void *  usr_cbk,
gf_log_cbk  cbk 
)

Assigns a user-defined callback for printing log messages. By default all logs are redirected to stderr

Parameters:
usr_cbk Opaque user data
cbk callback log function
Returns:
previous callback function
Bool gf_log_tool_level_on ( u32  log_tool,
u32  log_level 
)

Checks if a given tool is logged for the given level

Parameters:
log_tool tool to check
log_level level to check
Returns:
1 if logged, 0 otherwise
GF_Err gf_log_set_tools_levels ( const char *  log_tools_levels  ) 

Set log tools and levels according to the log_tools_levels string. All previous log settings are discarded.

Parameters:
log_tools_levels string specifying the tools and levels. It is formatted as logToolX:logToolZ:...
Returns:
GF_OK or GF_BAD_PARAM
GF_Err gf_log_modify_tools_levels ( const char *  val  ) 

Modify log tools and levels according to the log_tools_levels string. Previous log settings are kept.

Parameters:
log_tools_levels string specifying the tools and levels. It is formatted as logToolX:logToolZ:...
Returns:
GF_OK or GF_BAD_PARAM

Generated on 10 Sep 2015 for libgpac by  doxygen 1.6.1