Log4Qt - Logging for the Qt cross-platform application framework
Clone or download
Latest commit ba3df5b Jan 19, 2019


Log4Qt - Logging for the Qt cross-platform application framework

Continuous Integration

Travis CI (Linux) Build Status

Appveyor CI (Windows) Build status


Log4Qt is a C++ port of the Apache Software Foundation Log4j package using the Qt Framework. It is intended to be used by open source and commercial Qt projects.

Original project


This Log4Qt repository is a clone of the Log4Qt repository from https://gitorious.org/log4qt which was itself a clone of the original Log4Qt project on SourceForge http://sourceforge.net/projects/log4qt/ (http://log4qt.sourceforge.net/).

Additional features

  • SimpleTimeLayout (“dd.MM.yyyy hh:mm [Thread] Level Logger Message”)
  • ColorConsoleAppender (render colorized message by escape sequence and put it to console)
  • SignalAppender (emit signal when log event happens)
  • DatabaseAppender (append log event into sql table)
  • DatabaseLayout (put log event into sql table columns)
  • Telnet appender (append log event to telnet clients)
  • LogStream (qDebug()-style log messages appending)
  • MainThreadAppender (Proxy appender for sending log messages through event loop)
  • XMLLayout to support apache chainsaw
  • DailyFileAppender which generates a logfile for each day (add current date formatted to the filename)
  • Binary logger
  • Windows Debug Console Appender


  • Minimum Qt version required Qt5.7 (for support of Qt versions down to 5.3 use branch 1.4 or the lates 1.4.x release)
  • C++11 feature required (minimum compiler version MSVC14, GCC 4.8 or CLANG 3.3)


Apache License 2, Version 2.0


git clone https://github.com/MEONMedical/Log4Qt.git

Build and install


use qmake to build the project

    make install

WIN* (mingw)
    mingw32-make install

WIN* (msvc)
    msbuild Log4Qt.sln
    msbuild /t:INSTALL Log4Qt.sln

For static build call qmake with
qmake "DEFINES+=LOG4QT_STATIC" or uncommend LOG4QT_STATIC in the build.pri file
Don't forget to define LOG4QT_STATIC also in your project.

Logging to a database via databaseappender can be enabled with qmake "QT += sql"

include in your project

Can also be used by adding the log4qt source directly to your Qt project file by adding the following line: include(/src/log4qt/log4qt.pri)


cmake is the second option to build Log4Qt. An out-of-source build is required: <unpack/fetch to Log4Qt directory> mkdir Log4Qt-build cd Log4Qt-build cmake ../Log4Qt make/mingw32-make/msbuild Log4Qt.sln (same as with qmake) make/mingw32-make install or: msbuild /t:INSTALL Log4Qt.sln

Addition cmake options are
    * '-DBUILD_STATIC_LOG4CXX_LIB=ON|OFF' to build static log4qt lib (default: OFF)
    * '-DBUILD_WITH_DB_LOGGING=ON|OFF' to build with database logging support