On Fri, 22 Jun 2007, Mesdaq, Ali wrote: > Love this module but first thing I noticed was incorrect handling with > logconfess. I checked out the source and I think I see the reason > explained below.
Yep, that's a bug. Fixed in 1.12 which will be released later today. Thanks for reporting this! -- Mike Mike Schilli [EMAIL PROTECTED] > > Bug Description: > Calling logconfess(); only prints and records the log message passed to > logconfess() and the initiator of my module. > > Setup: > Test.pl script which uses my test.pm module. My module uses the > Log::Log4perl module and calls it from my module inside a sub routine. > But the exact order of calls is: > 1. test.pl runs > 2. test.pl uses test.pm > 3. test.pl calls $t = test->new(); > 4. test.pm uses Log::Log4perl > 5. test->new calls test->init() where Log::Log4perl gets initialized via > Log::Log4perl->init("log.conf"); > 6. test.pl then calls $t->blah() > 7. test->blah() does $l = get_logger("test") > 8. test->blah() calls $l->logconfess('testing logconfess') > > Result Is: > Message in log is params on left + "testing logconfess" at ./test.pl > line 8 > > Expected Result: > Message in log should be params on left + "testing logconfess at test.pm > line x \n test::blah('hash value') called at ./test.pl line 8" > > I was testing out the error levels and how the messages looked before > implementing this in my projects and I stumbled across this. I wrote my > own logging module before and had issues with longmess() and shortmess() > in carp. I think it's a little tricky dealing with the frame levels. I > noticed that logcluck() works fine. So in the source I noticed that the > main difference was how $Carp::CarpLevel was being set. In the cluck > call its set like: > $Carp::CarpLevel = $Carp::CarpLevel + 1; > And in the confess call its set like: > local $Carp::CarpLevel = 2; > I patched my local copy to the way the logcluck is setting the > $Carp::CarpLevel and my messages are as expected. > > Another thing I noticed is that doing a print Carp::longmess after > calling get_logger will also cause this error. But if I comment out the > get_logger call and print Carp::longmess it works as expected. > > Hope this makes it to the right people so the package can be updated. I > love it so far. Writing your own logging module really is a right of > passage in perl but what a waste of time when there are modules like > this around! > > Thanks, > ------------------------------------------ > Ali Mesdaq > Security Researcher II > Websense Security Labs > http://www.WebsenseSecurityLabs.com > ------------------------------------------ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > log4perl-devel mailing list > log4perl-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/log4perl-devel > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ log4perl-devel mailing list log4perl-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/log4perl-devel