#include "ucore/logging.h" #include "ucore/utils.h" #include 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; }