Guten Abend,
ich habe aktuell ein kleines Problem mit Log4Perl, und zwar wenn Einträge aus ein und derselben Zeile im Code geloggt werden soll (innerhalb einer Schleife), dann werden die Einträge teilweise abgeschnitten, kurioserweise aber am Anfang(!)!
Beispiel:
foreach my $value ( keys( %{$serialKeys} ) ) {
if ($log->is_debug()) {
my $log_message = 'ID: '. $serialKeys->{$value}->{'id'}.' :: ArtNr.: '.$serialKeys->{$value}->{'keyArt'}.' :: '.
$serialKeys->{$value}->{'keyKonto'}.' :: '.$serialKeys->{$value}->{'key'}.' :: '.
$serialKeys->{$value}->{'serial'}.' :: '.$serialKeys->{$value}->{'comment'}.' :: '.
$serialKeys->{$value}->{'change'}.' :: '.$serialKeys->{$value}->{'user'}.' :: '.
$serialKeys->{$value}->{'value'}.' :: '.$serialKeys->{$value}->{'free'};
$log->debug( $log_message );
}
}
Die Ausgabe ist dann wie folgt:
QuoteDEBUG - ID: 2 :: ArtNr.: 14500 :: 1 :: 0123456789 :: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
DEBUG - ID: 3 :: ArtNr.: 14501 :: 1 :: 1234567890 :: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
:: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
:: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
:: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
:: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
Sollte doch aber eigentlich so aussehen:
QuoteDEBUG - ID: 2 :: ArtNr.: 14500 :: 1 :: 0123456789 :: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
DEBUG - ID: 3 :: ArtNr.: 14501 :: 1 :: 1234567890 :: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
DEBUG - ID: 4 :: ArtNr.: 14502 :: 1 :: 2345678901 :: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
DEBUG - ID: 5 :: ArtNr.: 14503 :: 1 :: 3456789012 :: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
DEBUG - ID: 6 :: ArtNr.: 14504 :: 1 :: 4567890123 :: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
DEBUG - ID: 7 :: ArtNr.: 14505 :: 1 :: 5678901234 :: :: :: 2015-05-31 12:14:46 :: asc2000 :: 16.000000 :: 1
Die Config für Log4Perl sieht wie folgt aus:
log4perl.logger.Serial=TRACE, SerialLog
log4perl.appender.SerialLog=Log::Log4perl::Appender::File
log4perl.appender.SerialLog.mode=append
log4perl.appender.SerialLog.syswrite=1
log4perl.appender.SerialLog.filename=Serial.log
log4perl.appender.SerialLog.layout=SimpleLayout
aber auch folgende andere Configuration brachte den gleichen Fehler:
log4perl.logger.Serial=TRACE, SerialLog
log4perl.appender.SerialLog=Log::Dispatch::File
log4perl.appender.SerialLog.filename=Serial.log
log4perl.appender.SerialLog.mode=append
log4perl.appender.SerialLog.layout=Log::Log4perl::Layout::PatternLayout
log4perl.appender.SerialLog.layout.ConversionPattern=%d %p> %F{1}:%L %M - %m%n
Jemand eine Idee? Ich bin leider weder hier im Forum, bei CPAN und Google fündig geworden! :-/
Danke für eure Ideen & Hilfe,
Arties
Last edited: 2015-06-21 19:18:01 +0200 (CEST)