Files
libucore/test/logging.c
T
2014-04-23 02:04:08 +02:00

79 lines
2.2 KiB
C

#include <ucore/logging.h>
#include <ucore/utils.h>
#include <syslog.h>
enum {
MAIN,
CC,
HO
};
struct UCLogModule module_arr[] = {
{
MAIN,
"MAIN",
"Main module",
UC_LL_WARNING
},
{
CC,
"CC",
"Call Control module",
UC_LL_DEBUG,
},
{
HO,
"HO",
"Handover module",
UC_LL_DEBUG
}
};
struct UCLogModules modules = {
.mods = module_arr,
.cnt = ARRAY_SIZE(module_arr),
};
int main(int argc, char *argv[])
{
struct UCLogDestination *dest;
struct UCLogRotateSettings settings;
settings.policy = UC_LOG_ROTATE_SIZE;
settings.size_settings.max_size = 300;
settings.size_settings.num_files = 2;
uc_log_init(&modules);
dest = uc_log_new_file("test.log", UC_LL_DEBUG, 1);
uc_log_add_destination(dest);
uc_log_destination_set_rotate_policy(dest, &settings);
dest = uc_log_new_syslog("log.test", LOG_DAEMON, UC_LL_INFO, 0);
uc_log_add_destination(dest);
dest = uc_log_new_stderr(UC_LL_INFO, 0);
uc_log_add_destination(dest);
UC_LOGF( UC_LL_INFO, CC, "Test cc info %d\n", 2);
UC_LOGF( UC_LL_INFO, CC, "Test cc info %d\n", 3);
UC_LOGF( UC_LL_INFO, CC, "Test cc info %d\n", 4);
UC_LOGF( UC_LL_INFO, CC, "Test cc info %d\n", 5);
UC_LOGF( UC_LL_WARNING, HO, "Test HO warning%d\n", 2);
UC_LOGF( UC_LL_INFO, MAIN, "Test MAIN info \n" );
UC_LOGF( UC_LL_WARNING, MAIN, "Test MAIN warning\n" );
uc_log_destination_set_module_loglevel(dest, MAIN, UC_LL_INFO);
UC_LOGF( UC_LL_INFO, MAIN, "Test MAIN INFO 2\n" );
UC_LOGFR(UC_LL_INFO, MAIN, "Test RAW logging 1\n" );
uc_log_destination_set_module_loglevel(dest,MAIN, UC_LL_WARNING);
UC_LOGF( UC_LL_INFO, MAIN, "Test MAIN INFO 3\n" );
uc_log_destination_set_loglevel(dest, UC_LL_DEBUG);
UC_LOGF( UC_LL_DEBUG, MAIN, "Test MAIN DEBUG SHOULD NOT SHOW\n" );
//uc_log_destination_set_module_loglevel(dest, MAIN, UC_LL_INFO);
uc_log_destination_set_mask(dest, "HO=ERROR:MAIN=DEBUG:HO=DEBUG");
UC_LOGF( UC_LL_DEBUG, MAIN, "Test MAIN DEBUG SHOULD SHOW\n" );
uc_log_delete_destination(dest);
return 1;
}