[Catalyst] Catalyst::Log::Log4perl autoflush

David Wright dave-catalyst at dexy.org
Mon Apr 21 01:20:58 BST 2008


J. Shirley wrote:
> On Sat, Apr 19, 2008 at 8:01 AM, David Wright <dave-catalyst at dexy.org> wr=
ote:
>> Hi,
>>
>>  It seems that 'autoflush' doesn't mean what it usually does in
>> Catalyst::Log::Log4perl. It usually means that a write should happen
>> immediately, and not be buffered.
>>
>>  That isn't the behaviour in Catalyst::Log::Log4perl, either when set us=
ing
>> the log4perl conf, or when using the option to new(). The option to new()
>> disables 'abort', which I think is a misunderstanding. The logging funct=
ions
>> always simply push to the log4perlstack, which is only flushed after the
>> request has been mostly handled.
>>
>>  In order to get autoflush working as expected, I have had to create a
>>  derived class and override _log():
>>
>>  sub _log {
>>  my $self =3D shift;
>>  $self->SUPER::_log(@_);
>>  $self->_flush if scalar(caller(1)) =3D~ /^MyApp(::|$)/;
>>  }
>>
>>  perl -v: v5.8.8 built for i486-linux-gnu-thread-multi
>>  uname -a: Linux PC-5023452 2.6.22-14-generic #1 SMP Fri Feb 1 04:59:50
>>  UTC 2008 i686 GNU/Linux
>>  Catalyst::Log::Log4perl version: 1.0
>>
>>  I've raised a bug in RT for this:
>> http://rt.cpan.org/Public/Bug/Display.html?id=3D35221
>>
>>  Thanks,
>>  David Wright
>>
> =

> =

> David,
> =

> Could you throw a test case in with this (either on the RT bug or in
> this mail) and I'll get a patch put in place?

Diff to 10-basic.t attached.

Cheers,
David




-------------- next part --------------
A non-text attachment was scrubbed...
Name: 10-basic.diff
Type: text/x-patch
Size: 604 bytes
Desc: not available
Url : http://lists.scsys.co.uk/pipermail/catalyst/attachments/20080421/51e6=
f9fc/10-basic.bin


More information about the Catalyst mailing list