mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 03:06:37 +00:00
93_Log2Syslog: contrib 5.8.0
git-svn-id: https://svn.fhem.de/fhem/trunk@19872 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
e64e4dcf15
commit
4707c65497
@ -555,6 +555,7 @@ sub Log2Syslog_getifdata($$@) {
|
|||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my $socket = $hash->{SERVERSOCKET};
|
my $socket = $hash->{SERVERSOCKET};
|
||||||
my $protocol = lc(AttrVal($name, "protocol", "udp"));
|
my $protocol = lc(AttrVal($name, "protocol", "udp"));
|
||||||
|
my $eof = 0;
|
||||||
|
|
||||||
if($hash->{TEMPORARY}) {
|
if($hash->{TEMPORARY}) {
|
||||||
# temporäre Instanz abgelegt durch TcpServer_Accept
|
# temporäre Instanz abgelegt durch TcpServer_Accept
|
||||||
@ -593,16 +594,17 @@ sub Log2Syslog_getifdata($$@) {
|
|||||||
}
|
}
|
||||||
return ($st,$data,$hash);
|
return ($st,$data,$hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Child, $hash ist Hash der temporären Instanz
|
||||||
my $sname = $hash->{SNAME};
|
my $sname = $hash->{SNAME};
|
||||||
my $cname = $hash->{NAME};
|
my $cname = $hash->{NAME};
|
||||||
my $shash = $defs{$sname}; # Hash des Log2Syslog-Devices bei temporärer TCP-Serverinstanz
|
my $shash = $defs{$sname}; # Hash des Log2Syslog-Devices bei temporärer TCP-Serverinstanz
|
||||||
my $waitEOF = AttrVal($sname, "waitForEOF", 0);
|
my $waitEOF = AttrVal($sname, "waitForEOF", 0);
|
||||||
|
|
||||||
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - ####################################################### ");
|
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - ####################################################### ");
|
||||||
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - ######### new Syslog TCP Receive ######### ");
|
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - ######### new Syslog TCP Receive ######### ");
|
||||||
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - ####################################################### ");
|
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - ####################################################### ");
|
||||||
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - wait for EOF: $waitEOF");
|
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - wait for EOF: $waitEOF, SSL: ".$hash->{SSL} );
|
||||||
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - childname: $cname");
|
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - childname: $cname");
|
||||||
|
|
||||||
$st = ReadingsVal($sname,"state","active");
|
$st = ReadingsVal($sname,"state","active");
|
||||||
@ -622,20 +624,25 @@ sub Log2Syslog_getifdata($$@) {
|
|||||||
return ($st,undef,$hash);
|
return ($st,undef,$hash);
|
||||||
|
|
||||||
} elsif (!$ret) {
|
} elsif (!$ret) {
|
||||||
# end of file
|
# EOF or error
|
||||||
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - Connection closed for $cname: ".(defined($ret) ? 'EOF' : $!));
|
Log2Syslog_Log3slog ($shash, 4, "Log2Syslog $sname - Connection closed for $cname: ".(defined($ret) ? 'EOF' : $!));
|
||||||
if(defined($ret)) {
|
if(!defined($ret)) {
|
||||||
$data = $hash->{BUF};
|
# error
|
||||||
chomp $data;
|
CommandDelete(undef, $cname);
|
||||||
CommandDelete(undef, $cname);
|
$hash = $shash;
|
||||||
return ($st,$data,$hash);
|
return ($st,undef,$hash);
|
||||||
} else {
|
} else {
|
||||||
CommandDelete(undef, $cname);
|
# EOF
|
||||||
return ($st,undef,$hash);
|
$eof = 1;
|
||||||
|
$data = $hash->{BUF};
|
||||||
|
CommandDelete(undef, $cname);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
$hash->{BUF} .= $buf;
|
|
||||||
|
if(!$eof) {
|
||||||
|
$hash->{BUF} .= $buf;
|
||||||
|
Log2Syslog_Log3slog ($shash, 5, "Log2Syslog $sname - chars $ret length added to buffer:\n$buf") if($waitEOF && !$hash->{SSL});
|
||||||
|
}
|
||||||
|
|
||||||
if($hash->{SSL} && $c->can('pending')) {
|
if($hash->{SSL} && $c->can('pending')) {
|
||||||
while($c->pending()) {
|
while($c->pending()) {
|
||||||
@ -644,15 +651,21 @@ sub Log2Syslog_getifdata($$@) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Log2Syslog_Log3slog ($shash, 5, "Log2Syslog $sname - Buffer $ret chars length:\n$buf");
|
if(!$waitEOF || $hash->{SSL}) {
|
||||||
|
|
||||||
if(!$waitEOF) {
|
|
||||||
$data = $hash->{BUF};
|
$data = $hash->{BUF};
|
||||||
|
chomp $data;
|
||||||
delete $hash->{BUF};
|
delete $hash->{BUF};
|
||||||
$hash = $shash;
|
$hash = $shash;
|
||||||
chomp $data;
|
Log2Syslog_Log3slog ($shash, 5, "Log2Syslog $sname - Buffer $ret chars length:\n$data") if($data);
|
||||||
return ($st,$data,$hash);
|
return ($st,$data,$hash);
|
||||||
}
|
} else {
|
||||||
|
if($eof) {
|
||||||
|
$hash = $shash;
|
||||||
|
chomp $data;
|
||||||
|
Log2Syslog_Log3slog ($shash, 5, "Log2Syslog $sname - Buffer $ret chars length:\n$data") if($data);
|
||||||
|
return ($st,$data,$hash);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user