From cb553b99a53ddea4e0f9646af2446f6426d0658c Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Fri, 10 Aug 2018 12:40:19 +0000 Subject: [PATCH] 93_Log2Syslog: V4.7.0 git-svn-id: https://svn.fhem.de/fhem/trunk@17117 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/93_Log2Syslog.pm | 59 ++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 5 deletions(-) diff --git a/fhem/contrib/93_Log2Syslog.pm b/fhem/contrib/93_Log2Syslog.pm index 83a33d03f..5cf5b7561 100644 --- a/fhem/contrib/93_Log2Syslog.pm +++ b/fhem/contrib/93_Log2Syslog.pm @@ -30,6 +30,7 @@ ###################################################################################################################### # Versions History: # +# 4.7.0 10.08.2018 Parser for TPLink # 4.6.1 10.08.2018 some perl warnings, changed IETF Parser # 4.6.0 08.08.2018 set sendTestMessage added, Attribute "contDelimiter", "sendSeverity" # 4.5.1 07.08.2018 BSD Regex changed, setpayload of BSD changed @@ -78,7 +79,7 @@ eval "use Net::Domain qw(hostname hostfqdn hostdomain domainname);1" or my $Mis # sub Log2Syslog_Log3slog($$$); -my $Log2SyslogVn = "4.6.1"; +my $Log2SyslogVn = "4.7.0"; # Mappinghash BSD-Formatierung Monat my %Log2Syslog_BSDMonth = ( @@ -189,7 +190,7 @@ sub Log2Syslog_Initialize($) { "logFormat:BSD,IETF ". "makeMsgEvent:no,intern,reading ". "outputFields:sortable-strict,PRIVAL,FAC,SEV,TS,HOST,DATE,TIME,ID,PID,MID,SDFIELD,CONT ". - "parseProfile:BSD,IETF,raw,ParseFn ". + "parseProfile:BSD,IETF,TPLink-SG2424,raw,ParseFn ". "parseFn:textField-long ". "sendSeverity:multiple-strict,Emergency,Alert,Critical,Error,Warning,Notice,Informational,Debug ". "ssldebug:0,1,2,3 ". @@ -557,7 +558,6 @@ sub Log2Syslog_parsePayload($$) { Log2Syslog_Log3slog ($hash, 1, "Log2Syslog $name - error parse msg -> $data"); } else { $ts = "$date $time"; - # $cont =~ s/^:?(.*)$/$1/ if(lc($mid) eq "fhem"); # Modul Sender setzt vor $cont ein ":" (wegen Synology Compatibilität) if(looks_like_number($prival)) { $facility = int($prival/8) if($prival >= 0 && $prival <= 191); @@ -575,8 +575,10 @@ sub Log2Syslog_parsePayload($$) { $mid = substr($mid,0, ($RFC5425len{MID}-1)); $host = substr($host,0, ($RFC5425len{HST}-1)); + no warnings 'uninitialized'; Log2Syslog_Log3slog($name, 4, "$name - parsed message -> FAC: $fac, SEV: $sev, TS: $ts, HOST: $host, ID: $id, PID: $pid, MID: $mid, SDFIELD: $sdfield, CONT: $cont"); $host = "" if($host eq "-"); + use warnings; $phost = $host?$host:$phost; # Payload zusammenstellen für Event/Reading @@ -590,6 +592,52 @@ sub Log2Syslog_parsePayload($$) { } } } + + } elsif ($pp eq "TPLink-SG2424") { + # Parser für TPLink Router + # Beispiel data "<131>2018-08-10 09:03:58 10.0.x.y 31890 Login the web by admin on web (10.0.x.y)."; + $data =~ /^<(?\d{1,3})>(?\d{4}-\d{2}-\d{2})\s(?