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;
}
Exemple #2
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);
}
Exemple #3
0
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;
		}
	}
}
Exemple #4
0
Fichier : log.c Projet : azuwis/mpd
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;
}