Example #1
0
    void LogManager::doConfigureLogLogger()
    {
        QMutexLocker locker(&instance()->mObjectGuard);

        // Level
        QString value = InitialisationHelper::setting(QLatin1String("Debug"),
                                                      QLatin1String("ERROR"));
        logLogger()->setLevel(OptionConverter::toLevel(value, Level::DEBUG_INT));

        // Common layout
        TTCCLayout *p_layout = new TTCCLayout();
        p_layout->setName(QLatin1String("LogLog TTCC"));
        p_layout->setContextPrinting(false);
        p_layout->activateOptions();

        // Common deny all filter
        Filter *p_denyall = new DenyAllFilter();
        p_denyall->activateOptions();

        // ConsoleAppender on stdout for all events <= INFO
        ConsoleAppender *p_appender;
        LevelRangeFilter *p_filter;
        p_appender = new ConsoleAppender(p_layout, ConsoleAppender::STDOUT_TARGET);
        p_filter = new LevelRangeFilter();
        p_filter->setNext(p_denyall);
        p_filter->setLevelMin(Level::NULL_INT);
        p_filter->setLevelMax(Level::INFO_INT);
        p_filter->activateOptions();
        p_appender->setName(QLatin1String("LogLog stdout"));
        p_appender->addFilter(p_filter);
        p_appender->activateOptions();
        logLogger()->addAppender(p_appender);

        // ConsoleAppender on stderr for all events >= WARN
        p_appender = new ConsoleAppender(p_layout, ConsoleAppender::STDERR_TARGET);
        p_filter = new LevelRangeFilter();
        p_filter->setNext(p_denyall);
        p_filter->setLevelMin(Level::WARN_INT);
        p_filter->setLevelMax(Level::OFF_INT);
        p_filter->activateOptions();
        p_appender->setName(QLatin1String("LogLog stderr"));
        p_appender->addFilter(p_filter);
        p_appender->activateOptions();
        logLogger()->addAppender(p_appender);
    }
Example #2
0
    void LogManager::welcome()
    {
        static_logger()->info("Initialising Log4Qt %1",
                              QLatin1String(LOG4QT_VERSION_STR));

        // Debug: Info
        if (static_logger()->isDebugEnabled())
        {
            // Create a nice timestamp with UTC offset
            DateTime start_time = DateTime::fromMilliSeconds(InitialisationHelper::startTime());
            QString offset;
            {
                QDateTime utc = start_time.toUTC();
                QDateTime local = start_time.toLocalTime();
                QDateTime local_as_utc = QDateTime(local.date(), local.time(), Qt::UTC);
                int min = utc.secsTo(local_as_utc) / 60;
                if (min < 0)
                    offset += QLatin1Char('-');
                else
                    offset += QLatin1Char('+');
                min = abs(min);
                offset += QString::number(min / 60).rightJustified(2, QLatin1Char('0'));
                offset += QLatin1Char(':');
                offset += QString::number(min % 60).rightJustified(2, QLatin1Char('0'));
            }
            static_logger()->debug("Program startup time is %1 (UTC%2)",
                                   start_time.toString(QLatin1String("ISO8601")),
                                   offset);
            static_logger()->debug("Internal logging uses the level %1",
                                   logLogger()->level().toString());
        }

        // Trace: Dump settings
        if (static_logger()->isTraceEnabled())
        {
            static_logger()->trace("Settings from the system environment:");
            QString entry;
            Q_FOREACH (entry, InitialisationHelper::environmentSettings().keys())
                static_logger()->trace("    %1: '%2'",
                                       entry,
                                       InitialisationHelper::environmentSettings().value(entry));

            static_logger()->trace("Settings from the application settings:");
            if (QCoreApplication::instance())
            {
                const QLatin1String log4qt_group("Log4Qt");
                const QLatin1String properties_group("Properties");
                static_logger()->trace("    %1:", log4qt_group);
                QSettings s;
                s.beginGroup(log4qt_group);
                Q_FOREACH (entry, s.childKeys())
                    static_logger()->trace("        %1: '%2'",
                                           entry,
                                           s.value(entry).toString());
                static_logger()->trace("    %1/%2:", log4qt_group, properties_group);
                s.beginGroup(properties_group);
                    Q_FOREACH (entry, s.childKeys())
                        static_logger()->trace("        %1: '%2'",
                                               entry,
                                               s.value(entry).toString());
            } else
                static_logger()->trace("    QCoreApplication::instance() is not available");
        }
    }
Example #3
0
File: log.hpp Project: nyorain/ny
inline void log(Args&&... args) { logLogger()->output(std::forward<Args>(args)...); }