diff options
author | Max Kellermann <max@duempel.org> | 2013-12-15 17:20:42 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-12-15 17:32:41 +0100 |
commit | c330d694c75a42492712b1442333385ef899791d (patch) | |
tree | 8ac02ad8ee1d7b3fa42df01854d6c3074f808355 /src | |
parent | 73555f9088120b35cfc84d582bd827a1a816a4b1 (diff) |
Log: move Log() to LogBackend.cxx
Prepare for GLib removal.
Diffstat (limited to 'src')
-rw-r--r-- | src/Log.cxx | 38 | ||||
-rw-r--r-- | src/LogBackend.cxx | 54 |
2 files changed, 59 insertions, 33 deletions
diff --git a/src/Log.cxx b/src/Log.cxx index 44dfe14ce..c58790841 100644 --- a/src/Log.cxx +++ b/src/Log.cxx @@ -20,46 +20,18 @@ #include "config.h" #include "LogV.hxx" #include "util/Error.hxx" -#include "util/Domain.hxx" - -#include <glib.h> #include <assert.h> #include <stdio.h> +#include <string.h> #include <errno.h> -static GLogLevelFlags -ToGLib(LogLevel level) -{ - switch (level) { - case LogLevel::DEBUG: - return G_LOG_LEVEL_DEBUG; - - case LogLevel::INFO: - return G_LOG_LEVEL_INFO; - - case LogLevel::DEFAULT: - return G_LOG_LEVEL_MESSAGE; - - case LogLevel::WARNING: - case LogLevel::ERROR: - return G_LOG_LEVEL_WARNING; - } - - assert(false); - gcc_unreachable(); -} - -void -Log(const Domain &domain, LogLevel level, const char *msg) -{ - g_log(domain.GetName(), ToGLib(level), "%s", msg); -} - void LogFormatV(const Domain &domain, LogLevel level, const char *fmt, va_list ap) { - g_logv(domain.GetName(), ToGLib(level), fmt, ap); + char msg[1024]; + vsnprintf(msg, sizeof(msg), fmt, ap); + Log(domain, level, msg); } void @@ -144,7 +116,7 @@ FormatError(const Error &error, const char *fmt, ...) void LogErrno(const Domain &domain, int e, const char *msg) { - LogFormat(domain, LogLevel::ERROR, "%s: %s", msg, g_strerror(e)); + LogFormat(domain, LogLevel::ERROR, "%s: %s", msg, strerror(e)); } void diff --git a/src/LogBackend.cxx b/src/LogBackend.cxx new file mode 100644 index 000000000..a06a41573 --- /dev/null +++ b/src/LogBackend.cxx @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2003-2013 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" +#include "Log.hxx" +#include "util/Domain.hxx" + +#include <glib.h> + +#include <assert.h> + +static GLogLevelFlags +ToGLib(LogLevel level) +{ + switch (level) { + case LogLevel::DEBUG: + return G_LOG_LEVEL_DEBUG; + + case LogLevel::INFO: + return G_LOG_LEVEL_INFO; + + case LogLevel::DEFAULT: + return G_LOG_LEVEL_MESSAGE; + + case LogLevel::WARNING: + case LogLevel::ERROR: + return G_LOG_LEVEL_WARNING; + } + + assert(false); + gcc_unreachable(); +} + +void +Log(const Domain &domain, LogLevel level, const char *msg) +{ + g_log(domain.GetName(), ToGLib(level), "%s", msg); +} |