Introduction ============ Log4cxx is a port to C++ of the log4j project. The goal is have the same functionnalities and interfaces of log4j. Features ======== It's a flexible and highly configurable logging framework Main features : - Configurable logging destinations (appenders) - Configurable logging format (layouts) - Categorized logging statements through a hierarchy (loggers) - Advanced filtering (filters) - Thread safe library - UTF-16 Unicode support * Appenders: AsyncAppender, ConsoleAppender, FileAppender, NTEventLogAppender, ODBCAppender, RollingFileAppender, SMTPAppender, SocketAppender, SocketHubAappender, SyslogAppender, TelnetAppender, XMLSocketAppender * Layouts: HTMLLayout, PatternLayout, SimpleLayout, TTCCLayout, XMLLayout * Filters: DenyAllFilter, LevelMatchFilter, LevelRangeFilter, StringMatchFilter * Configurators: BasicConfigurator, DOMConfigurator, PropertyConfigurator * Java like objects with dynamic cast and instanciation. Custom objects can be configured through the DOMConfigurator and PropertyConfigurator classes Supported OS ============ * Linux * FreeBSD * Windows (MSVC 6.0 or Cygwin) * Othe POSIX OS should be supported but were not tested Installation ============ ./autogen.sh ./configure make make check make install See INSTALL file for further details. Visual Studio .Net 2003 considerations ====================================== By default, Visual .Net 2003 eliminates exports that are never referenced. So all appenders and layouts are eliminated by the linker if they are not explicitly referenced in a new project linking with the log4cxx static library But theses functions have to be referenced for the needs of the PropertyConfigurator and DOMConfigurator classes. So, in the new project, some of the properties need to be changed: Linker -> Optimization -> References Change from "Default" to "Keep Unreferenced Data (/OPT:NOREF)" This problem does not exist with dll version of the log4cxx library. Unitary Tests ============= You will need to install * cppunit (http://cppunit.sourceforge.net/) * boost regex (http://www.boost.org/) Unix : run "make check" Windows : run msvc/tests/runtests.bat Performance Tests ================= Just run performance/logging.sh. The result are expressed in micro-seconds. Links ===== http://log4cxx.sourceforge.net Log4cxx project page http://sourceforge.net/projects/log4cxx Sourceforge page http://jakarta.apache.org/log4j/ Log4j project page Contacts ======== See AUTHORS file License ======= This library is licensed under the Apache Public License. Please read the included license.apl for details.