diff options
| author | Tomasz Sterna <tomek@xiaoka.com> | 2014-07-16 04:26:05 +0200 |
|---|---|---|
| committer | Tomasz Sterna <tomek@xiaoka.com> | 2014-07-16 04:26:05 +0200 |
| commit | 7d8f121652ceecc371a5f73986e2ef8fc2f1e4be (patch) | |
| tree | deefe4f9af0779457a9eec7fdf17c110e59c57e4 /daemon/daemon.cpp | |
| parent | 3c19406ee292e0ed7993bd4d3976cc34d40e2f22 (diff) | |
Use new Log4Qt features and fixes
Diffstat (limited to 'daemon/daemon.cpp')
| -rw-r--r-- | daemon/daemon.cpp | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/daemon/daemon.cpp b/daemon/daemon.cpp index eba9afa..a2cb900 100644 --- a/daemon/daemon.cpp +++ b/daemon/daemon.cpp @@ -54,18 +54,8 @@ void signalhandler(int sig) } } -// For some reason exactly SystemLogAppender doesn't have a factory registered in log4qt, -// so in order for it to be instantiatable from .conf file (or even in general?) we declare factory -// right here and will register it in initLoggin() -Log4Qt::Appender *create_system_log_appender() { - return new Log4Qt::SystemLogAppender; -} - void initLogging() { - // Should really be done in log4qt, but somehow it's missing these - Log4Qt::Factory::registerAppender("org.apache.log4j.SystemLogAppender", create_system_log_appender); - // Sailfish OS-specific locations for the app settings files and app's own files const QString logConfigFilePath(QStandardPaths::standardLocations(QStandardPaths::ConfigLocation).at(0) + "pebble/log4qt.conf"); @@ -74,36 +64,6 @@ void initLogging() const QString& usedConfigFile = QFile::exists(logConfigFilePath) ? logConfigFilePath : fallbackLogConfigPath; Log4Qt::PropertyConfigurator::configure(usedConfigFile); - // Uglyish hack for replacing $XDG_CACHE_HOME with the proper cache directory - // TODO: Implement replacing of $XDG_CACHE_HOME (and other vars?) with the proper values before configuring log4qt - - // Iterate all appenders attached to root logger and whenever a FileAppender (or its descender found), replace - // $XDG_CACHE_HOME with the proper folder name - QList<Log4Qt::Appender *> appenders = Log4Qt::LogManager::rootLogger()->appenders(); - QList<Log4Qt::Appender *>::iterator i; - QDir pathCreator; - for (i = appenders.begin(); i != appenders.end(); ++i) { - Log4Qt::FileAppender* fa = qobject_cast<Log4Qt::FileAppender*>(*i); - if(fa) { - QString filename = fa->file(); - - // As per March 2014 on emulator QStandardPaths::CacheLocation is /home/nemo/.cache - // while on device it is /home/nemo/.cache/app-name - // both things are fine, logging path will just be a little deeper on device - filename.replace("$XDG_CACHE_HOME", - QStandardPaths::standardLocations(QStandardPaths::CacheLocation).at(0) - ); - // make sure loggin dir exists - QFileInfo fi(filename); - if(!pathCreator.mkpath(fi.path())) { - Log4Qt::LogManager::rootLogger()->error("Failed to create dir for logging: %1", fi.path()); - } - - fa->setFile(filename); - fa->activateOptions(); - } - } - // For capturing qDebug() and console.log() messages // Note that console.log() might fail in Sailfish OS device builds. Not sure why, but it seems like // console.log() exactly in Sailfish OS device release builds doesn't go through the same qDebug() channel |
