$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [log] Review-ready version in the Vault
From: Alexander Arhipenko (arhipjan_at_[hidden])
Date: 2009-02-14 07:13:33
On Sun, Feb 8, 2009 at 5:58 PM, Andrey Semashev
<andrey.semashev_at_[hidden]> wrote:
> After a long time of documenting, polishing and testing I'm glad to announce
> that Boost.Log has reached the level where public review request can be
> submitted. The automatic tests aren't entirely complete, however, the basic
> functionality is covered and most of what is not covered has been tried by
> hand.
>
>[snip...]
>
> Comments are welcome.
>
Hi, Andrey
First of all, thank you for your great efforts in creating and
submitting logging library to boost.
As for me, logging library is the most long-desired one to be in boost.
I've spent several hours (frankly speaking, several ten hours ;) )
writing simple test
applications that use boost::log.
My goal was to check if this library will satisfy our product's
requirements for
logging (Unfortunately, we don't have uniform logging solution at the moment).
Well, at first glance boost::log has almost everything that any sophisticated
user or programmer could except!
My testing platform was:
RHEL4
gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42).
I've used boost 1.38.0 and latest boost.log downloaded from vault.
I didn't discovered any issues except 2.
1 (minor): annoying warnings like
'class aaa has virtual functions but non-virtual destructor' with kilobytes of
related messages ('in instantiation of bla-bla ... instantiated from here' etc)
2 (major): rotating_ofstream seems not working correctly
when std::ios_base::app flag passed to rotating_ofstream ctor (or open
function).
In case of using that flag no file is created.
That's because in rotating_ofstream.hpp,
file_controller_base ctor m_OpenMode is generated as:
m_OpenMode |= std::ios_base::out | std::ios_base::trunc;
m_OpenMode &= ~std::ios_base::in;
ios_base::trunc and ios_base::app flags are "conflicting"
(at least in my stdcxx). So, the file is not opened.
I've also noticed that rotation is working only for one program run
(even if ios_base::app open mode is used).
I.e., I have application with static output to log. At first run 4 log
files are created. At second run log file count is the same - 4.
In my expectation, it should be 8.
(By the way, python logging module generates 8 files for the
same scenario if using logging.handlers.RotatingFileHandler).
Also, I have minor feature request related to rotating file naming.
I will be nice to have current active log file name as: 'file.log'.
And the others as file.log.1, file.log.2 etc
(i.e., name pattern is not applied to active log file).
Regards