|
From: Martin E. <mar...@ea...> - 2007-02-23 16:03:34
|
Hi,
I've been using Log::Log4perl for ages now in a set of CPAN modules we
wrote and internally in a project here. All has been ok, it works well -
thank you.
This issue is mostly related to Log::Dispatch::FileRotate|File but I am
posting here since I may need advice on an alternative.
Our log files are getting pretty large and after seeing a post on this
list I decided to try Log::Dispatch::FileRotate. It seemed to work fine
at first. The logging is in a single module, this module is used in
multiple places/processes under different uids and we have a single
config file. One of the places is code running under modperl, the other
is a daemon in perl.
The first problem was due to umasks and first to start (the daemon or
modperl) created the file and the other couldn't open it. I tried
log4perl.appender.X1.umask = sub { 0000 }
but it would seem Log::Dispatch::FileRotate does not know umask. I then
discovered "permissions" so did:
log4perl.appender.X1.permissions = sub { 0666 }
and this appears to work until another uid comes along in which case you
get:
Cannot chmod /tmp/dbix.log to 438: Operation not permitted at
/usr/lib/perl5/site_perl/5.8.8/Log/Dispatch/File.pm line 96
I don't get this as Log::Dispatch::File says:
"If the file does not already exist, the permissions that it should be
created with."
so I presume this is a bug.
Am I wasting my time here? Would I be better going back to
Log::Log4perl::Appender::File, using ".umask" and some external file
rotator? Any recommendations?
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
|