blob: c80cca325be043236d879192cf86ef94bf22366d [file] [log] [blame]
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.