diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index 8c9c7b4810774207b4f35771a3b3d44ad22b95d8..c971f2735d0c79eda07ca73544695490b482537d 100644 --- a/backends/libpurple/main.cpp +++ b/backends/libpurple/main.cpp @@ -6,14 +6,10 @@ #include #include "transport/networkplugin.h" +#include "transport/logging.h" +#include "transport/config.h" +#include "transport/logging.h" #include "geventloop.h" -#include "log4cxx/logger.h" -#include "log4cxx/consoleappender.h" -#include "log4cxx/patternlayout.h" -#include "log4cxx/propertyconfigurator.h" -#include "log4cxx/helpers/properties.h" -#include "log4cxx/helpers/fileinputstream.h" -#include "log4cxx/helpers/transcoder.h" // #include "valgrind/memcheck.h" #include "malloc.h" @@ -31,10 +27,9 @@ #define getpid _getpid #endif -using namespace log4cxx; +DEFINE_LOGGER(logger_libpurple, "libpurple"); +DEFINE_LOGGER(logger, "backend"); -static LoggerPtr logger_libpurple = log4cxx::Logger::getLogger("libpurple"); -static LoggerPtr logger = log4cxx::Logger::getLogger("backend"); int main_socket; static int writeInput; @@ -1648,44 +1643,12 @@ int main(int argc, char **argv) { return 1; } - if (KEYFILE_STRING("logging", "backend_config").empty()) { - LoggerPtr root = log4cxx::Logger::getRootLogger(); -#ifndef _MSC_VER - root->addAppender(new ConsoleAppender(new PatternLayout("%d %-5p %c: %m%n"))); -#else - root->addAppender(new ConsoleAppender(new PatternLayout(L"%d %-5p %c: %m%n"))); -#endif - } - else { - log4cxx::helpers::Properties p; - log4cxx::helpers::FileInputStream *istream = NULL; - try { - istream = new log4cxx::helpers::FileInputStream(KEYFILE_STRING("logging", "backend_config")); - } - catch(log4cxx::helpers::IOException &ex) { - std::cerr << "Can't create FileInputStream logger instance: " << ex.what() << "\n"; - } - catch (...) { - std::cerr << "Can't create FileInputStream logger instance\n"; - } - - if (!istream) { - return 1; - } - - p.load(istream); - LogString pid, jid; - log4cxx::helpers::Transcoder::decode(stringOf(getpid()), pid); - log4cxx::helpers::Transcoder::decode(KEYFILE_STRING("service", "jid"), jid); -#ifdef _MSC_VER - p.setProperty(L"pid", pid); - p.setProperty(L"jid", jid); -#else - p.setProperty("pid", pid); - p.setProperty("jid", jid); -#endif - log4cxx::PropertyConfigurator::configure(p); + Config config; + if (!config.load(argv[1])) { + std::cerr << "Can't open " << argv[1] << " configuration file.\n"; + return 1; } + Logging::initBackendLogging(&config); initPurple();