diff --git a/lib/SLUB/LZA/Rosetta/TA.pm b/lib/SLUB/LZA/Rosetta/TA.pm index 108e42810dddee0269b30e67aa09f803d25b8e9f..03e6f7e3de7469a4f80348c26971d07cc634fd2b 100644 --- a/lib/SLUB/LZA/Rosetta/TA.pm +++ b/lib/SLUB/LZA/Rosetta/TA.pm @@ -157,7 +157,7 @@ sub helper_scan_log { if ($file =~ m/\.gz$/) { $fh = IO::Zlib->new("$file", "rb"); } else { - $fh = $file->openr; + $fh = $file->filehandle; } if (defined $fh) { $fh_processing->( $fh ); @@ -170,6 +170,9 @@ sub helper_scan_log { sub trace_log { my $with_trace=shift; my $with_color=shift; + my $date_rx=shift; + my $level_rx=shift; + my $match_rx=shift; my $output_filter=shift; my $directory = path($config{logdir}); my $deposit_id; @@ -184,10 +187,10 @@ sub trace_log { # 1. ... | processing {originalDirName=eb9c1924-4bab-11ec-baca-f69de10fbd49, depositId=422950, ... userName=Goobi_SMA, SIP 422438, producerType=TRUSTED, producerGroup=PG_Goobi, contentStructure=METS, materialFlowSR=0, producerId=264981, contentStructureId=264951, converter_class_name=com.exlibris.dps.deposit.converters.METSCSConverter, retentionPoliciesId=NO_RETENTION} from work queue SIP_LOADING_WORK_QUEUE finished # 2. ... enqueued {originalDirName=d2cb9509-4bad-11ec-baca-b925eea982a1, depositId=422958, ... userName=Goobi_SMA, sipId=422446, producerType=TRUSTED, producerGroup=PG_Goobi, contentStructure=METS, materialFlowSR=0, producerId=264981, contentStructureId=264951, converter_class_name=com.exlibris.dps.deposit.converters.METSCSConverter, retentionPoliciesId=NO_RETENTION} on work queue V2SL_shr00.SIP_LOADING_WORK_QUEUE # 3. ... SIP 13156, Deposit Activity ID=17589Properties - my $sip_rx = qr/(SIP |sipId=)/; - my $date_rx = qr/\d{4}-\d\d-\d\d \d\d:\d\d:\d\d,\d\d\d/; - my $pre_rx = qr/$date_rx INFO .*/; + my $datetime_rx = qr/$date_rx \d\d:\d\d:\d\d,\d\d\d/; + my $pre_rx = qr/$datetime_rx INFO /; + my $line_rx1 = Regexp::Optimizer->new->optimize(qr{^$pre_rx.*(originalDirName=|depositId=|$sip_rx)$searchid}); my $line_rx2 = Regexp::Optimizer->new->optimize(qr{^$pre_rx.*(SIP |Deposit Activity ID=)$searchid}); my $line_rx3 = Regexp::Optimizer->new->optimize(qr{^$pre_rx.*Loaded \d+ files for: .*$searchid}); @@ -203,7 +206,6 @@ sub trace_log { $line_rx4 = Regexp::Optimizer->new->optimize(qr{^$pre_rx.*Representation $searchid IE \d+ Copy ID: \d+}); } -# my $search_rxo = Regexp::Optimizer->new->optimize(qr/^$date_rx [^ ]* $level_rx (.*?)$match_rx(.*?)$/); my $fh_processing_stage1 = sub { my $fh = shift; while(<$fh>) { @@ -211,21 +213,25 @@ sub trace_log { (defined $sip_id and defined $deposit_id and defined $deposit_dir) or (defined $ie_pid and defined $rep_id) ) { last; } - if (! m/^$pre_rx/) {next;} - if (! m/$searchid/) {next;} + if (!m/^$pre_rx/) { + next; + } + if (!m/$searchid/) { + next; + } chomp; if ( m/$line_rx1/ ) { if (!defined $sip_id and m/$sip_rx(\d{6}),/) { $sip_id = $2; } if (!defined $deposit_dir and m/originalDirName=([^,]*),/) { $deposit_dir = $1; } - if (!defined $deposit_id and m/depositId=(\d{6}),/) { $deposit_id = $1;} + if (!defined $deposit_id and m/depositId=(\d+),/) { $deposit_id = $1;} } elsif (m/$line_rx2/) { if (!defined $sip_id and m/SIP (\d{6})/) { $sip_id = $1;} - if (!defined $deposit_id and m/Deposit Activity ID=(\d{6})/) { $deposit_id = $1;} + if (!defined $deposit_id and m/Deposit Activity ID=(\d+)/) { $deposit_id = $1;} } elsif (m/$line_rx3/) { if (!defined $ie_pid and m/Loaded \d+ files for: REP\d+ \((IE\d+)/) { $ie_pid = $1;} if (!defined $rep_id and m/Loaded \d+ files for: (REP\d+)/) { $rep_id = $1;} } elsif (m/$line_rx4/) { - my $rx = qr/Representation (\d{6}) IE (\d{6})/; + my $rx = qr/Representation (\d+) IE (\d+)/; if (!defined $ie_pid and m/$rx/) { $ie_pid = $2;} if (!defined $rep_id and m/$rx/) { $rep_id = $1;} } @@ -242,13 +248,21 @@ sub trace_log { if ($with_color) { $output_filter = sub {colorize_trace($_[0], $deposit_dir, $deposit_id, $sip_id, $ie_pid, $rep_id)}; } + my $search_rxo = Regexp::Optimizer->new->optimize(qr/^$date_rx [^ ]* $level_rx (.*?)$match_rx(.*?)$/); + no warnings; + my $nextline_rx1= Regexp::Optimizer->new->optimize(qr{originalDirName=$deposit_dir|(depositID|Deposit Activity ID)[= ]$deposit_id|(sipId|SIP[= ]?)$sip_id}); + my $nextline_rx2=Regexp::Optimizer->new->optimize(qr{IE[ ]?$ie_pid|REP[ ]?$rep_id}); + use warnings; my $fh_processing_stage2 = sub { my $fh = shift; - no warnings; - my $nextline_rx1= Regexp::Optimizer->new->optimize(qr{originalDirName=$deposit_dir|(depositID|Deposit Activity ID)[= ]$deposit_id|(sipId|SIP[= ]?)$sip_id}); - my $nextline_rx2=Regexp::Optimizer->new->optimize(qr{IE[ ]?$ie_pid|REP[ ]?$rep_id}); - use warnings; while(<$fh>) { + if (!m/^$date_rx/) { + next; + } + if (! m/$search_rxo/) { + #print "no match for '$_'"; + next; + } if ( ( defined $deposit_dir