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. |
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 | |
domain | The name of the volume | |
format | Format like for printf |
This function either prints a message to stderr (if you didn't case bg_log_set_dest and level is contained in the mask you passed to bg_log_set_verbose) or puts a message into the queue you passed to bg_log_set_dest.
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 | |
domain | The name of the volume | |
str | Message string |
This function either prints a message to stderr (if you didn't case bg_log_set_dest and level is contained in the mask you passed to bg_log_set_verbose) or puts a message into the queue you passed to bg_log_set_dest.
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) | |
level | Level | |
domain | The name of the volume | |
format | Format like for printf |
This function either prints a message to stderr (if you didn't case bg_log_set_dest and level is contained in the mask you passed to bg_log_set_verbose) or puts a message into the queue you passed to bg_log_set_dest.
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 |