Boost Logging Library

I was evaluating boost log library for my upcoming project XCAPServer. When I googled for boost and logging, I found two boost based logging library.

1. http://torjo.com/log2/doc/html/index.html
2. https://sourceforge.net/projects/boost-log/.

I started with torjo's log library documentation but it looked more complex so I gave up on that.

boost-log library documentation is really good and getting started was much easier so I downloaded the boost-log source and compiled along with my other boost libraries. You can find how to compile boost libraries here.

After spending some time on this library what I realized is that it doesn't support basic logging requirements for my multi-threading application so I had to use C++ macros to achieve what I wanted.

Here is my logger files:
xcap_logger.hpp

xcap_logger.cpp

I just don't understand why logging libraries have to be so complex and still doesn't provide basic logging features e.g file-name, line-number, thread-id etc..we need to learn from java community.

Sometime I feel that boost community should define the interface and let people implement rather than people contributing the implementations and boost community keep on rejecting :)

Here is what I am looking in boost logging library.

My basic requirements for logging libraries are below.

1. Date and Time
2. File Name. Similar to __FILE__ macro
3. Line Number. Similar to __LINE__ macro
4. Current thread id. (pthread_self)
5. Parent thread id. (getpid())
6. Log level (from trace, debug, info, warn, error, critical)
7. Module name
8. Data
e.g
|2009-Sep-22 22:04:47.340047|file.cpp:212|0xb0103000:0xb01020000|INFO|XCAP|test-data