Global logging facilities. More...
Defines | |
#define | bg_log(level, domain,...) bg_log_translate(PACKAGE, level, domain, __VA_ARGS__) |
Translate a message and send it to the logger. | |
Enumerations | |
enum | bg_log_level_t { BG_LOG_DEBUG = 1<<0, BG_LOG_WARNING = 1<<1, BG_LOG_ERROR = 1<<2, BG_LOG_INFO = 1<<3 } |
Log levels. More... | |
Functions | |
void | bg_log_notranslate (bg_log_level_t level, const char *domain, const char *format,...) __attribute__((format(printf |
Send a message to the logger without translating it. | |
void void | bg_logs_notranslate (bg_log_level_t level, const char *domain, const char *str) |
Send a message (as complete string) to the logger without translating it. | |
void | bg_log_translate (const char *translation_domain, bg_log_level_t level, const char *domain, const char *format,...) __attribute__((format(printf |
Translate a message and send it to the logger. | |
void | bg_log_set_dest (bg_msg_queue_t *q) |
Set the log destination. | |
const char * | bg_log_level_to_string (bg_log_level_t level) |
Convert a log level to a human readable string. | |
void | bg_log_set_verbose (int mask) |
Set verbosity mask. | |
char * | bg_log_last_error () |
Get last error message. |
Global logging facilities.
The logging mechanism is used for everything, which would be done with fprintf(stderr, ...) in simpler applications. It is the only mechanism, which used global variables, i.e. the functions bg_log_set_dest and bg_log_set_verbose. They should be called just once during application startup. The function bg_log can, of course, be called from multiple threads simultaneously.
#define bg_log | ( | level, | |||
domain, | |||||
... | ) | bg_log_translate(PACKAGE, level, domain, __VA_ARGS__) |
Translate a message and send it to the logger.
enum bg_log_level_t |
Log levels.
These specify the type and severity of a message. They can also be ORed for a call to bg_log_set_verbose.
void bg_log_notranslate | ( | bg_log_level_t | level, | |
const char * | domain, | |||
const char * | format, | |||
... | ||||
) |
Send a message to the logger without translating it.
level | Level
|
void void bg_logs_notranslate | ( | bg_log_level_t | level, | |
const char * | domain, | |||
const char * | str | |||
) |
Send a message (as complete string) to the logger without translating it.
level | Level
|
void bg_log_translate | ( | const char * | translation_domain, | |
bg_log_level_t | level, | |||
const char * | domain, | |||
const char * | format, | |||
... | ||||
) |
Translate a message and send it to the logger.
translation_domain | Gettext domain (usually package name)
|
void bg_log_set_dest | ( | bg_msg_queue_t * | q | ) |
Set the log destination.
q | Message queue |
Note, that logging will become asynchronous with this method. Also, single threaded applications always must remember to handle messages from the log queue after they did something critical.
const char* bg_log_level_to_string | ( | bg_log_level_t | level | ) |
Convert a log level to a human readable string.
level | Log level
|
void bg_log_set_verbose | ( | int | mask | ) |
Set verbosity mask.
mask | ORed log levels, which should be printed |
char* bg_log_last_error | ( | ) |
Get last error message.