92_FileLog.pm: add clear command (Forum #64655)

git-svn-id: https://svn.fhem.de/fhem/trunk@13069 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig
2017-01-14 20:25:15 +00:00
parent 02177ec729
commit 4b10a66bbe

View File

@@ -256,7 +256,8 @@ FileLog_Set($@)
my $me = $hash->{NAME}; my $me = $hash->{NAME};
return "no set argument specified" if(int(@a) < 2); return "no set argument specified" if(int(@a) < 2);
my %sets = (reopen=>0, absorb=>1, addRegexpPart=>2, removeRegexpPart=>1); my %sets = (reopen=>0, clear=>0, absorb=>1, addRegexpPart=>2,
removeRegexpPart=>1);
my $cmd = $a[1]; my $cmd = $a[1];
if(!defined($sets{$cmd})) { if(!defined($sets{$cmd})) {
@@ -267,12 +268,16 @@ FileLog_Set($@)
} }
return "$cmd needs $sets{$cmd} parameter(s)" if(@a-$sets{$cmd} != 2); return "$cmd needs $sets{$cmd} parameter(s)" if(@a-$sets{$cmd} != 2);
if($cmd eq "reopen") { if(($cmd eq "reopen") or ($cmd eq "clear")) {
if(!FileLog_Switch($hash)) { # No rename, reopen anyway if(!FileLog_Switch($hash)) { # No rename, reopen anyway
my $fh = $hash->{FH}; my $fh = $hash->{FH};
my $cn = $hash->{currentlogfile}; my $cn = $hash->{currentlogfile};
$fh->close(); $fh->close();
$fh = new IO::File(">>$cn"); if($cmd eq "clear") {
$fh = new IO::File(">$cn");
} else {
$fh = new IO::File(">>$cn");
}
return "Can't open $cn" if(!defined($fh)); return "Can't open $cn" if(!defined($fh));
$hash->{FH} = $fh; $hash->{FH} = $fh;
} }
@@ -1137,6 +1142,11 @@ FileLog_regexpFn($$)
logfile. logfile.
</ul> </ul>
</li> </li>
<li>clear
<ul>
Clears and reopens the logfile.
</ul>
</li>
<li>addRegexpPart &lt;device&gt; &lt;regexp&gt; <li>addRegexpPart &lt;device&gt; &lt;regexp&gt;
<ul> <ul>
add a regexp part, which is constructed as device:regexp. The parts add a regexp part, which is constructed as device:regexp. The parts
@@ -1432,6 +1442,10 @@ FileLog_regexpFn($$)
Erneutes &Ouml;ffnen eines FileLogs nach h&auml;ndischen Erneutes &Ouml;ffnen eines FileLogs nach h&auml;ndischen
&Auml;nderungen in dieser Datei. &Auml;nderungen in dieser Datei.
</ul></li> </ul></li>
<li>clear
<ul>
L&ouml;schen und erneutes &Ouml;ffnen eines FileLogs.
</ul></li>
<li>addRegexpPart &lt;device&gt; &lt;regexp&gt; <li>addRegexpPart &lt;device&gt; &lt;regexp&gt;
<ul> <ul>
F&uuml;gt ein regexp Teil hinzu, der als device:regexp aufgebaut ist. F&uuml;gt ein regexp Teil hinzu, der als device:regexp aufgebaut ist.