1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
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, DailyRollingFileAppender, 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 (tested on Linux Mandrake 10.0)
* FreeBSD
* Windows (MSVC 6.0, MSVC 7.1 or Cygwin)
* Other 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 and Visual Studio 6.0 considerations
============================================================
For projects linking with log4cxx static library, the macro LOG4CXX_STATIC must
be defined (tab C++, textbox Preprocessor in the project properties) and
"log4cxxs.lib" must be passed to the linker (tab Link,textbox Object/Library
Modules in the project settings).
For projects linking with log4cxx dynamic library (dll), "log4cxx.lib" must be
passed to the linker (tab Link,textbox Object/Library Modules in the project
settings).
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://logging.apache.org/log4cxx
Log4cxx project page
http://logging.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.
|