Shopsystem ShopPilot

ShopPilot => ShopPilot Enterprise => Thema gestartet von: admin am November 20, 2009, 17:04:08

Titel: Timestamp im Logfile lesbar machen
Beitrag von: admin am November 20, 2009, 17:04:08
Jede Zeile im Logfile enthält einen Timestamp im Unix Format. Da dieser schlecht für Menschen lesbar ist (aber sehr gut für Computer) hier ein kleines Perl Programm zur Umwandlung der Datei in eine lesebare Form. Das Programm wird auf der Kommandozeile gestartet und hat zwei Parameter, die Eingangs- und Ausgangsdatei.

#wandelt in shoplog Dateien den Timestamp von Unix Time in lesbare Zeit
#
if ($#ARGV != 1) {
print "usage: perl dateconv.pl inputfile otputfile\n";
}

open(IN,"< $ARGV[0]");
open(OUT,"> $ARGV[1]");

while( <IN> ) {
my $ln = $_;
$ln =~ m/,(\d\d\d\d\d\d\d\d\d\d),/;
$unixtime = $1;
($sec,$min,$hour,$mday,$mon,$year) = localtime($unixtime);
$mon = $mon + 1; $year += 1900;
$datestr = sprintf("%02d.%02d.%4d %02d:%02d.%02d",$mday,$mon,$year,$hour,$min,$sec);
$ln =~ s/,\d\d\d\d\d\d\d\d\d\d,/,- $datestr -,/g;
print OUT $ln;