From 9feb8a1881803d82b01416bde75967306caaeb0e Mon Sep 17 00:00:00 2001 From: DS_Starter Date: Fri, 3 Aug 2018 15:09:44 +0000 Subject: [PATCH] 93_Log2Syslog: V4.2.0 git-svn-id: https://svn.fhem.de/fhem/trunk@17087 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/93_Log2Syslog.pm | 209 +++++++++++++++++----------------- 1 file changed, 105 insertions(+), 104 deletions(-) diff --git a/fhem/contrib/93_Log2Syslog.pm b/fhem/contrib/93_Log2Syslog.pm index 68d4113f7..f6377e8b6 100644 --- a/fhem/contrib/93_Log2Syslog.pm +++ b/fhem/contrib/93_Log2Syslog.pm @@ -169,7 +169,7 @@ sub Log2Syslog_Initialize($) { "disable:1,0 ". "addTimestamp:0,1 ". "logFormat:BSD,IETF ". - "parseProfile:default,raw ". + "parseProfile:BSD,IETF,raw ". "ssldebug:0,1,2,3 ". "TLS:1,0 ". "timeout ". @@ -311,7 +311,7 @@ sub Log2Syslog_Read($) { my $socket = $hash->{SERVERSOCKET}; my $st = "active"; my $lf = AttrVal($name, "logFormat", "IETF"); - my ($err,$data,$facility,$severity,$date,$host,$ident,$content,$pl,$version,$pid,$mid,$sdfield); + my ($err,$data,$facility,$severity,$ts,$host,$ident,$content,$pl,$version,$pid,$mid,$sdfield); return if(IsDisabled($name) || $hash->{MODEL} !~ /Collector/); @@ -325,12 +325,12 @@ sub Log2Syslog_Read($) { $st = "receive error - see logfile"; } else { # parse Payload - ($err,$pl) = Log2Syslog_parsePayload($hash,$data); + ($err,$ts,$pl) = Log2Syslog_parsePayload($hash,$data); $hash->{SEQNO}++; if($err) { $st = "parse error - see logfile"; } else { - Log2Syslog_Trigger($hash,$date,$pl); + Log2Syslog_Trigger($hash,$ts,$pl); } } @@ -344,12 +344,12 @@ sub Log2Syslog_Read($) { $st = "receive error - see logfile"; } else { # parse Payload - ($err,$pl) = Log2Syslog_parsePayload($hash,$data); + ($err,$ts,$pl) = Log2Syslog_parsePayload($hash,$data); $hash->{SEQNO}++; if($err) { $st = "parse error - see logfile"; } else { - Log2Syslog_Trigger($hash,$date,$pl); + Log2Syslog_Trigger($hash,$ts,$pl); } } } @@ -368,9 +368,8 @@ return; sub Log2Syslog_parsePayload($$) { my ($hash,$data) = @_; my $name = $hash->{NAME}; - my $lf = AttrVal($name, "logFormat", "IETF"); - my $pp = AttrVal($name, "parseProfile", "default"); - my ($prival,$Mmm,$dd,$time,$host,$ident,$delimiter,$content,$day,$date); + my $pp = AttrVal($name, "parseProfile", "IETF"); + my ($prival,$Mmm,$dd,$time,$host,$ident,$delimiter,$content,$day,$date,$ts); my ($severity,$sev,$facility,$fac,$version,$pid,$mid,$sdfield,$err,$pl); Log2Syslog_Log3slog ($hash, 5, "Log2Syslog $name - ### new Syslog message Parsing ### "); @@ -384,72 +383,63 @@ sub Log2Syslog_parsePayload($$) { my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); # Istzeit Ableitung $year = $year+1900; - if ($lf eq "BSD") { - # BSD Protokollformat https://tools.ietf.org/html/rfc3164 - # Beispiel data "<$prival>$month $day $time $myhost $ident: : $otp" - if($pp =~ /default/) { - ($prival,$Mmm,$dd,$time,$host,$ident,$delimiter,$content) = ($data =~ /^<(?\d{1,3})>(?\w{3})\s{1,2}(?\d{1,2})\s(?