liblogging 0.6.0 review

by on

Liblogging is an easy-to-use, cross-platform library for RFC 3195-style logging

License: BSD License
File size: 448K
Developer: Rainer Gerhards
0 stars award from

Liblogging is an easy-to-use, cross-platform library for RFC 3195-style logging. It has a very simple API which takes out all complexity of the new BEEP-based RFC 3195 syslog standard. It supports RAW and COOKED profiles as well as initiators and listeners.

Liblogging takes a different approach. It is a library specifcally created to talk syslog, NOT general BEEP. It provides just the bare functionality needed for syslog, nothing else.

Consequently it is very slim. The authors hope that this will enable developers of even low-powered devices to adopt the library and provide reliable syslog logging.

This library has been named liblogging because it may eventually contain code for additional logging methods in the future (like "plain" UDP syslog, 3195 COOKED and syslog-sign).

This library compiles under a variety of platforms. It is originally developed and maintened under Win32. It is frequently ported and tested on Red Hat Linux.

These are the platforms (in this order) we have the most confidience in the library on. Others may (though unlikely) show unexpected behaviour.

This documentation file here is NOT up to date. However, it will provide you a good overview of the overall design and many specifics. To get the totally right details, please see the respective modules' documentation.

Please note that the SEQ handling described below for the listener part is NOT YET implemented - but it is still on the list. As such, the server API should be considered unstable.

If you base a server on liblogging, please be prepared to update your server to make it work with future versions of liblogging. Of course we try to keep the impact as low as possible, but that's not a guarantee!

The client side API is stable and changes should not be necessary for future releases (except, of course, you would like to use new features).

Design Goals:

The overall mission of liblogging is to provide a small, easy to use library that will work as an enabler for reliable syslog.

There are a number of design goals:
No additional libraries shall be needed
low ressource consumption
Memory and CPU usage should be kept to a minimum so that the lib can also be used on low-powered devices
thread-model agnostic
No specific threading model is needed for this library. Everything can be done from a single thread, BUT the library is thread-safe so that it can be called from multiple threads concurrently.
Even though the initial design includes a very limited feature set, liblogging should be able to be extended easily.
That's a hard one. liblogging is developed under Win32. While we take reasonable care to make it portable, we only know this once ports have actually been done.

tuning profiles are not supported
only 2 channels (channel 0 and 1 syslog channel) are supported
at this time, only the RAW profile is supported
The file architecture.c does NOT contain any code - it is solely used to provide this documentation.

liblogging 0.6.0 keywords