|
Packit |
1422b7 |
Liblognorm is a fast-samples based normalization library.
|
|
Packit |
1422b7 |
|
|
Packit |
1422b7 |
More information on liblognorm can be found at
|
|
Packit |
1422b7 |
http://www.liblognorm.com
|
|
Packit |
1422b7 |
|
|
Packit |
1422b7 |
Liblognorm evolves since several years and was intially meant to be used primarily with
|
|
Packit |
1422b7 |
the Mitre CEE effort. Consequently, the initial version of liblognorm (0.x)
|
|
Packit |
1422b7 |
uses the libee CEE support library in its API.
|
|
Packit |
1422b7 |
|
|
Packit |
1422b7 |
As time evolved, the initial CEE schema underwent considerable change. Even
|
|
Packit |
1422b7 |
worse, Mitre lost funding for CEE. While the CEE ideas survived as part
|
|
Packit |
1422b7 |
of Red Hat-driven "Project Lumberjack", the data structures became greatly
|
|
Packit |
1422b7 |
simplified and JSON based. That effectively made libee obsolete (and also
|
|
Packit |
1422b7 |
in parts libestr, which was specifically written to support CEE's
|
|
Packit |
1422b7 |
initial requirement of embedded NUL chars in strings).
|
|
Packit |
1422b7 |
|
|
Packit |
1422b7 |
In 2013, Pavel Levshin converted liblognorm to native JSON, which helped
|
|
Packit |
1422b7 |
improve performance and simplicity for many client applications.
|
|
Packit |
1422b7 |
Unfortunately, this change broke interface compatibility (and there was
|
|
Packit |
1422b7 |
no way to avoid that, obviously...).
|
|
Packit |
1422b7 |
|
|
Packit |
1422b7 |
In 2015, most parts of liblognorm were redesigned and rewritten as part
|
|
Packit |
1422b7 |
of Rainer Gerhards' master thesis. For full technical details of how
|
|
Packit |
1422b7 |
liblognorm operates, and why it is so fast, please have a look at
|
|
Packit |
1422b7 |
|
|
Packit |
1422b7 |
https://www.researchgate.net/publication/310545144_Efficient_Normalization_of_IT_Log_Messages_under_Realtime_Conditions
|
|
Packit |
1422b7 |
|
|
Packit |
1422b7 |
The current library is the result of that effort. Application developers
|
|
Packit |
1422b7 |
are encouraged to switch to this version, as it provides the benefit of
|
|
Packit |
1422b7 |
a simpler API. This version is now being tracked by the git master branch.
|
|
Packit |
1422b7 |
|
|
Packit |
1422b7 |
However, if you need to stick to the old API, there is a git branch
|
|
Packit |
1422b7 |
liblognorm0, which contains the previous version of the library. This
|
|
Packit |
1422b7 |
branch is also maintained for important bug fixes, so it is safe to use.
|
|
Packit |
1422b7 |
|
|
Packit |
1422b7 |
We recommend that packagers create packages both for liblognorm0 and
|
|
Packit |
1422b7 |
liblognorm1. Note that liblognorm's development packages cannot
|
|
Packit |
1422b7 |
coexist on the same system as the PKGCONFIG system would get into
|
|
Packit |
1422b7 |
trouble. Adiscon's own packages follow this schema.
|