Files
2014-10-06 21:52:28 +02:00

79 lines
2.1 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", 2);
UC_LOGF( UC_LL_INFO, CC, "Test cc info %d", 3);
UC_LOGF( UC_LL_INFO, CC, "Test cc info %d", 4);
UC_LOGF( UC_LL_INFO, CC, "Test cc info %d", 5);
UC_LOGF( UC_LL_WARNING, HO, "Test HO warning%d", 2);
UC_LOGF( UC_LL_INFO, MAIN, "Test MAIN info " );
UC_LOGF( UC_LL_WARNING, MAIN, "Test MAIN warning" );
uc_log_destination_set_module_loglevel(dest, MAIN, UC_LL_INFO);
UC_LOGF( UC_LL_INFO, MAIN, "Test MAIN INFO 2" );
UC_LOGFR(UC_LL_INFO, MAIN, "Test RAW logging 1" );
uc_log_destination_set_module_loglevel(dest,MAIN, UC_LL_WARNING);
UC_LOGF( UC_LL_INFO, MAIN, "Test MAIN INFO 3" );
uc_log_destination_set_loglevel(dest, UC_LL_DEBUG);
UC_LOGF( UC_LL_DEBUG, MAIN, "Test MAIN DEBUG SHOULD NOT SHOW" );
//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" );
uc_log_delete_destination(dest);
return 1;
}