[log4perl-devel] DBI Appender user suggestion and silent failure issue for mismatched placeholder count

2007-08-23 Thread Adrian Corston
I'm using Log::Log4perl::Appender::DBI and I have a few end-user 
suggestions to make.

I have a significant slab of existing Log::Log4perl code which uses 
variable number of arguments like this:

   Log::Log4perl -> get_logger() -> debug("Parsing start"):
   ...
   Log::Log4perl -> get_logger() -> debug("Done, ", $error_count, " 
errors.");

Using this sort of code with Log::Log4perl::Appender::DBI the way it's 
currently suggested/recommended by the perldoc (prepared statements, '?' 
placeholders and warp_message=0) is presently a poor experience, because 
the number of placeholders is variable.  At the moment this means most 
of my DBI inserts were failing silently and I had to uncomment the 
"warn" on line 138 of Log::Log4perl::Appender::DBI to find out what was 
going wrong (which is rather unfortunate.)

I think it would be better to do something like this as a default in the 
perldoc example (ie. without warp_message, and %m explicitly specified 
as a parameter)

  log4perl.appender.DBLog = Log::Log4perl::Appender::DBI
  log4perl.appender.DBLog.datasource = DBI:mysql:database=log;host=localhost
  log4perl.appender.DBLog.username = user
  log4perl.appender.DBLog.password = pass
  log4perl.appender.DBLog.sql = insert into cc3 (timestamp, severity, 
source, source_line, host, caller, file, message) values 
(unix_timestamp(), ?, ?, ?, ?, ?, ?, ?);
  log4perl.appender.DBLog.params.1 = %p
  log4perl.appender.DBLog.params.2 = %X{source}
  log4perl.appender.DBLog.params.3 = %X{source-line}
  log4perl.appender.DBLog.params.4 = %H
  log4perl.appender.DBLog.params.5 = %M
  log4perl.appender.DBLog.params.6 = +%L %F
  log4perl.appender.DBLog.params.7 = %m
  log4perl.appender.DBLog.usePreparedStmt = 1
  log4perl.appender.DBLog.layout = Log::Log4perl::Layout::NoopLayout

The existing example could then be included in the perldoc under a 
section entitled ("How to get access to individual arguments to debug(), 
warn() etc.")

But it's a great class nevertheless :)

Thanks,
A.

-- 
Adrian Corston
Support Engineer
YourAmigo

IMPORTANT - This email message is for the sole use of the intended recipient(s) 
and may contain confidential and privileged information in which case neither 
is intended to be waived. YourAmigo retains ownership of all copyright, trade 
secrets and other intellectual property rights in the email and attachments. 
Any unauthorized review, use, disclosure or distribution is prohibited. If you 
are not the intended recipient, please notify us and remove it from your 
system. It is your responsibility to check any attachments for viruses and 
defects before opening or sending them on. YourAmigo collects personal 
information to provide and market our services. For more information about use, 
disclosure and access, see our privacy policy at http://www.youramigo.com


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
___
log4perl-devel mailing list
log4perl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/log4perl-devel


[log4perl-devel] Minor bug with usePreparedStmt and buggerSize in Log::Log4perl::Appender::DBI

2007-08-23 Thread Adrian Corston
Log::Log4perl::Appender::DBI line 44:
$self->{BUFFERSIZE} = $p{bufferSize} || 1;

Log::Log4perl::Appender::DBI line 56:
if ($self->{usePreparedStmt} &&  $self->{bufferSize}){

I think you probably want line 56 to read as follows:
if ($self->{usePreparedStmt} &&  $self->{BUFFERSIZE}){

Cheers,
A.

-- 
Adrian Corston
Support Engineer
YourAmigo

IMPORTANT - This email message is for the sole use of the intended recipient(s) 
and may contain confidential and privileged information in which case neither 
is intended to be waived. YourAmigo retains ownership of all copyright, trade 
secrets and other intellectual property rights in the email and attachments. 
Any unauthorized review, use, disclosure or distribution is prohibited. If you 
are not the intended recipient, please notify us and remove it from your 
system. It is your responsibility to check any attachments for viruses and 
defects before opening or sending them on. YourAmigo collects personal 
information to provide and market our services. For more information about use, 
disclosure and access, see our privacy policy at http://www.youramigo.com


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
___
log4perl-devel mailing list
log4perl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/log4perl-devel