Libflog is a simple file based event logger. It is customizable and easy to integrate with any C or C++ application. The library allows an application to define an unlimited number of log streams, each with its own time satmping and prefix settings. Each log stream can be directed to a different file, or it can be redirected to standard console output (stdout, stderr). The library supports transparent log file compression, provided you have a shared version of zlib installed on your system: all you have to do is append a ".gz" suffix to the log file name.

Writing to a log stream is as easy as using the printf function. The library hides duplicated messages, replacing them with the repeat count. It is thread safe and includes the code for serializing calls from different threads, you don't need to care about it.

The library is developed as an attempt to minimize code replication and centralize bug tracking for a number of projects that I'm working on. If someone is willing to use the library, they may do so.

Distributed under the GNU LGPL license.


The latest version of libflog is available for downloads at the SourceForge download center.