int log_init(int type, char *level, char *name, char *server, short port) { struct logger *l = &logger; int levellog = parse_loglevel(level); l->level = MAX(LOG_EMERG, MIN(levellog, LOG_DEBUG)); l->type = type; l->nerror = 0; if (type & GENERIC_FILE) { return log_init_file(name); } if (type & DATABASE) { return log_init_db(server, port); } if (type & LEVELDB) { return log_init_leveldb(name); } return 0; }
void log_init(LogLevel log_level, bool colors) { time_t seconds = time(NULL); struct tm* timeinfo = localtime(&seconds); char path[FILENAME_MAX] = ""; strftime(path, FILENAME_MAX, "log [%d-%m-%y %H.%M.%S].txt", timeinfo); return log_init_file(log_level, colors, path); }
bool log_init(bool verbose, bool use_stdout, GError **error_r) { const struct config_param *param; g_get_charset(&log_charset); if (verbose) log_threshold = G_LOG_LEVEL_DEBUG; else if ((param = config_get_param(CONF_LOG_LEVEL)) != NULL) log_threshold = parse_log_level(param->value, param->line); if (use_stdout) { log_init_stdout(); return true; } else { param = config_get_param(CONF_LOG_FILE); if (param == NULL) { #ifdef HAVE_SYSLOG /* no configuration: default to syslog (if available) */ log_init_syslog(); return true; #else g_set_error(error_r, log_quark(), 0, "config parameter \"%s\" not found", CONF_LOG_FILE); return false; #endif #ifdef HAVE_SYSLOG } else if (strcmp(param->value, "syslog") == 0) { log_init_syslog(); return true; #endif } else { GError *error = NULL; char *path = config_dup_path(CONF_LOG_FILE, &error); if (path == NULL) { assert(error != NULL); g_propagate_error(error_r, error); return false; } bool success = log_init_file(path, param->line, error_r); g_free(path); return success; } } }
void log_init(bool verbose, bool use_stdout) { const struct config_param *param; g_get_charset(&log_charset); if (verbose) log_threshold = G_LOG_LEVEL_DEBUG; else if ((param = config_get_param(CONF_LOG_LEVEL)) != NULL) log_threshold = parse_log_level(param->value, param->line); if (use_stdout) { log_init_stdout(); } else { param = config_get_param(CONF_LOG_FILE); if (param == NULL) { #ifdef HAVE_SYSLOG /* no configuration: default to syslog (if available) */ log_init_syslog(); #else g_error("config parameter \"%s\" not found\n", CONF_LOG_FILE); #endif #ifdef HAVE_SYSLOG } else if (strcmp(param->value, "syslog") == 0) { log_init_syslog(); #endif } else { char *path = parsePath(param->value); g_free(param->value); if (path == NULL) g_error("error parsing \"%s\" at line %i\n", CONF_LOG_FILE, param->line); log_init_file(path, param->line); } } }
void log_deinit(void) { struct logger *l = &logger; int ret = 0; int type = l->type; if (type & GENERIC_FILE) { ret = log_init_file(l->name); } if (type & DATABASE) { ret = log_init_db(l->ip, l->port); } if (type & LEVELDB) { ret = log_init_leveldb(l->name); } return; }