general: GetLogLevel deprecated, using Log3 instead.

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@3659 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2013-08-10 08:42:31 +00:00
parent 27d26cc09b
commit ee188db593
4 changed files with 60 additions and 43 deletions

View File

@ -150,7 +150,7 @@ CUL_Define($$)
if(uc($defs{$d}{FHTID}) =~ m/^$x/) {
my $m = "$name: Cannot define multiple CULs with identical ".
"first two digits ($x)";
Log 1, $m;
Log3 $name, 1, $m;
return $m;
}
}
@ -163,7 +163,7 @@ CUL_Define($$)
$hash->{MatchList} = \%matchListSlowRF;
if($dev eq "none") {
Log 1, "$name device is none, commands will be echoed only";
Log3 $name, 1, "$name device is none, commands will be echoed only";
$attr{$name}{dummy} = 1;
return undef;
}
@ -187,7 +187,7 @@ CUL_Undef($$)
$defs{$d}{IODev} == $hash)
{
my $lev = ($reread_active ? 4 : 2);
Log GetLogLevel($name,$lev), "deleting port for $d";
Log3 $name, $lev, "deleting port for $d";
delete $defs{$d}{IODev};
}
}
@ -233,7 +233,6 @@ CUL_Set($@)
my $name = shift @a;
my $type = shift @a;
my $arg = join("", @a);
my $ll = GetLogLevel($name,3);
return "This command is not valid in the current rfmode"
if($sets{$type} && $sets{$type} ne AttrVal($name, "rfmode", "SlowRF"));
@ -262,7 +261,7 @@ CUL_Set($@)
my $f1 = sprintf("%02x", int($f % 65536) / 256);
my $f0 = sprintf("%02x", $f % 256);
$arg = sprintf("%.3f", (hex($f2)*65536+hex($f1)*256+hex($f0))/65536*26);
Log $ll, "Setting FREQ2..0 (0D,0E,0F) to $f2 $f1 $f0 = $arg MHz";
Log3 $name, 3, "Setting FREQ2..0 (0D,0E,0F) to $f2 $f1 $f0 = $arg MHz";
CUL_SimpleWrite($hash, "W0F$f2");
CUL_SimpleWrite($hash, "W10$f1");
CUL_SimpleWrite($hash, "W11$f0");
@ -289,7 +288,7 @@ CUL_Set($@)
GOTBW:
$ob = sprintf("%02x", $ob+$bits);
Log $ll, "Setting MDMCFG4 (10) to $ob = $bw KHz";
Log3 $name, 3, "Setting MDMCFG4 (10) to $ob = $bw KHz";
CUL_SimpleWrite($hash, "W12$ob");
CUL_SimpleWrite($hash, $hash->{initString});
@ -303,7 +302,7 @@ GOTBW:
}
$v = sprintf("%02d", $v-1);
$w = $ampllist[$v];
Log $ll, "Setting AGCCTRL2 (1B) to $v / $w dB";
Log3 $name, 3, "Setting AGCCTRL2 (1B) to $v / $w dB";
CUL_SimpleWrite($hash, "W1D$v");
CUL_SimpleWrite($hash, $hash->{initString});
@ -313,7 +312,7 @@ GOTBW:
if($arg !~ m/^\d+$/ || $arg < 4 || $arg > 16);
my $w = int($arg/4)*4;
my $v = sprintf("9%d",$arg/4-1);
Log $ll, "Setting AGCCTRL0 (1D) to $v / $w dB";
Log3 $name, 3, "Setting AGCCTRL0 (1D) to $v / $w dB";
CUL_SimpleWrite($hash, "W1F$v");
CUL_SimpleWrite($hash, $hash->{initString});
@ -362,7 +361,7 @@ WRITEEND:
return "Expecting a 0-padded hex number"
if((length($arg)&1) == 1 && $type ne "raw");
Log $ll, "set $name $type $arg";
Log3 $name, 3, "set $name $type $arg";
$arg = "l$arg" if($type eq "led");
$arg = "x$arg" if($type eq "patable");
CUL_SimpleWrite($hash, $arg);
@ -534,7 +533,7 @@ CUL_DoInit($)
if($ver !~ m/^V/) {
$attr{$name}{dummy} = 1;
$msg = "Not an CUL device, got for V: $ver";
Log 1, $msg;
Log3 $name, 1, $msg;
return $msg;
}
$ver =~ s/[\r\n]//g;
@ -553,7 +552,7 @@ CUL_DoInit($)
$cmds =~ s/$name cmds =>//g;
$cmds =~ s/ //g;
$hash->{CMDS} = $cmds;
Log 3, "$name: Possible commands: " . $hash->{CMDS};
Log3 $name, 3, "$name: Possible commands: " . $hash->{CMDS};
CUL_SimpleWrite($hash, $hash->{initString});
@ -563,9 +562,9 @@ CUL_DoInit($)
($err, $fhtid) = CUL_ReadAnswer($hash, "FHTID", 0, undef);
return "$name: $err" if($err);
$fhtid =~ s/[\r\n]//g;
Log 5, "GOT CUL fhtid: $fhtid";
Log3 $name, 5, "GOT CUL fhtid: $fhtid";
if(!defined($fhtid) || $fhtid ne $hash->{FHTID}) {
Log 2, "Setting CUL fhtid from $fhtid to " . $hash->{FHTID};
Log3 $name, 2, "Setting CUL fhtid from $fhtid to " . $hash->{FHTID};
CUL_SimpleWrite($hash, "T01" . $hash->{FHTID});
}
@ -626,7 +625,7 @@ CUL_ReadAnswer($$$$)
}
if($buf) {
Log 5, "CUL/RAW (ReadAnswer): $buf";
Log3 $hash->{NAME}, 5, "CUL/RAW (ReadAnswer): $buf";
$mculdata .= $buf;
}
$mculdata = CUL_RFR_DelPrefix($mculdata) if($type eq "CUL_RFR");
@ -663,7 +662,7 @@ CUL_XmitLimitCheck($$)
if(@b > 163) { # Maximum nr of transmissions per hour (unconfirmed).
my $name = $hash->{NAME};
Log GetLogLevel($name,2), "CUL TRANSMIT LIMIT EXCEEDED";
Log3 $name, 2, "CUL TRANSMIT LIMIT EXCEEDED";
DoTrigger($name, "TRANSMIT LIMIT EXCEEDED");
} else {
@ -718,7 +717,7 @@ CUL_WriteTranslate($$$)
$msg = substr($msg,6,4) . substr($msg,10);
} else {
Log GetLogLevel($name,2), "CUL cannot translate $fn $msg";
Log3 $name, 2, "CUL cannot translate $fn $msg";
return (undef, undef);
}
return ($fn, $msg);
@ -732,8 +731,9 @@ CUL_Write($$$)
($fn, $msg) = CUL_WriteTranslate($hash, $fn, $msg);
return if(!defined($fn));
my $name = $hash->{NAME};
Log 5, "$hash->{NAME} sending $fn$msg";
Log3 $name, 5, "$hash->{NAME} sending $fn$msg";
my $bstring = "$fn$msg";
if($fn eq "F" || # FS20 message
@ -834,7 +834,7 @@ CUL_Read($)
my $name = $hash->{NAME};
my $culdata = $hash->{PARTIAL};
Log 5, "CUL/RAW: $culdata/$buf";
Log3 $name, 5, "CUL/RAW: $culdata/$buf";
$culdata .= $buf;
while($culdata =~ m/\n/) {
@ -859,9 +859,9 @@ CUL_Parse($$$$$)
$rssi = hex(substr($dmsg, $l-2, 2));
$dmsg = substr($dmsg, 0, $l-2);
$rssi = ($rssi>=128 ? (($rssi-256)/2-74) : ($rssi/2-74));
Log GetLogLevel($name,5), "$name: $dmsg $rssi";
Log3 $name, 5, "$name: $dmsg $rssi";
} else {
Log GetLogLevel($name,5), "$name: $dmsg";
Log3 $name, 5, "$name: $dmsg";
}
###########################################
@ -939,7 +939,7 @@ CUL_Parse($$$$$)
$dmsg = "TX".substr($dmsg,1); # t.* is occupied by FHTTK
} else {
DoTrigger($name, "UNKNOWNCODE $dmsg");
Log GetLogLevel($name,2), "$name: unknown message $dmsg";
Log3 $name, 2, "$name: unknown message $dmsg";
return;
}
@ -986,8 +986,7 @@ CUL_SimpleWrite(@)
}
my $name = $hash->{NAME};
my $ll5 = GetLogLevel($name,5);
Log $ll5, "SW: $msg";
Log3 $name, 5, "SW: $msg";
$msg .= "\n" unless($nonl);
@ -1021,7 +1020,7 @@ CUL_Attr(@)
$hash->{initString} = "X21\nAr"; # X21 is needed for RSSI reporting
CUL_SimpleWrite($hash, $hash->{initString});
} else {
Log 2, $msg;
Log3 $name, 2, $msg;
return $msg;
}
@ -1034,7 +1033,7 @@ CUL_Attr(@)
$hash->{initString} = "X21\nZr"; # X21 is needed for RSSI reporting
CUL_SimpleWrite($hash, $hash->{initString});
} else {
Log 2, $msg;
Log3 $name, 2, $msg;
return $msg;
}
@ -1049,7 +1048,7 @@ CUL_Attr(@)
}
Log 2, "Switched $name rfmode to $a[3]";
Log3 $name, 2, "Switched $name rfmode to $a[3]";
delete $hash->{".clientArray"};
}

View File

@ -147,7 +147,8 @@ Do_On_Till($@)
my $hms_till = sprintf("%02d:%02d:%02d", $hr, $min, $sec);
my $hms_now = sprintf("%02d:%02d:%02d", $lt[2], $lt[1], $lt[0]);
if($hms_now ge $hms_till) {
Log 4, "on-till: won't switch as now ($hms_now) is later than $hms_till";
Log3 $hash->{NAME}, 4,
"on-till: won't switch as now ($hms_now) is later than $hms_till";
return "";
}
@ -199,7 +200,7 @@ FS20_Set($@)
return "Bad time spec" if($na == 3 && $a[2] !~ m/^\d*\.?\d+$/);
my $v = join(" ", @a);
Log GetLogLevel($name,3), "FS20 set $v";
Log3 $name, 3, "FS20 set $v";
(undef, $v) = split(" ", $v, 2); # Not interested in the name...
my $val;
@ -214,8 +215,7 @@ FS20_Set($@)
$val = (2**$i)*$j*0.25;
if($val >= $a[2]) {
if($val != $a[2]) {
Log GetLogLevel($name,2),
"$name: changing timeout to $val from $a[2]";
Log3 $name, 2, "$name: changing timeout to $val from $a[2]";
}
$c .= sprintf("%x%x", $i, $j);
last LOOP;
@ -252,7 +252,7 @@ FS20_Set($@)
if($newState) {
my $to = sprintf("%02d:%02d:%02d", $val/3600, ($val%3600)/60, $val%60);
$modules{FS20}{ldata}{$name} = $to;
Log 4, "Follow: +$to setstate $name $newState";
Log3 $name, 4, "Follow: +$to setstate $name $newState";
CommandDefine(undef, $name."_timer at +$to ".
"setstate $name $newState; trigger $name $newState");
}
@ -389,7 +389,7 @@ FS20_Parse($$)
return "" if(IsIgnored($n)); # Little strange.
readingsSingleUpdate($lh, "state", $v, 1);
Log GetLogLevel($n,4), "FS20 $n $v";
Log3 $n, 4, "FS20 $n $v";
if($modules{FS20}{ldata}{$n}) {
CommandDelete(undef, $n . "_timer");
@ -408,7 +408,7 @@ FS20_Parse($$)
}
if($newState) {
my $to = sprintf("%02d:%02d:%02d", $dur/3600, ($dur%3600)/60, $dur%60);
Log 4, "Follow: +$to setstate $n $newState";
Log3 $n, 4, "Follow: +$to setstate $n $newState";
CommandDefine(undef, $n."_timer at +$to ".
"setstate $n $newState; trigger $n $newState");
$modules{FS20}{ldata}{$n} = $to;

View File

@ -82,8 +82,8 @@ DevIo_SimpleWrite($$$)
return if(!$hash);
my $name = $hash->{NAME};
my $ll5 = GetLogLevel($name,5);
Log $ll5, "SW: $msg";
print LOG "DS: $name\n";
Log3 $name, 5, "SW: $msg";
$msg = pack('H*', $msg) if($ishex);
$hash->{USBDev}->write($msg) if($hash->{USBDev});

34
fhem.pl
View File

@ -99,6 +99,8 @@ sub setGlobalAttrBeforeFork($);
sub setReadingsVal($$$$);
sub evalStateFormat($);
sub latin1ToUtf8($);
sub Log($$);
sub Log3($$$);
sub CommandAttr($$);
sub CommandDefaultAttr($$);
@ -569,21 +571,30 @@ GetLogLevel(@)
################################################
# the new Log with integrated loglevel checking
sub
Log($$)
Log3($$$)
{
my ($loglevel, $text) = @_;
my ($dev, $loglevel, $text) = @_;
if(defined($dev) &&
defined($attr{$dev}) &&
defined (my $devlevel = $attr{$dev}{loglevel})) {
return if($loglevel > $devlevel);
return if($loglevel > $attr{global}{verbose});
} else {
return if($loglevel > $attr{global}{verbose});
my @t = localtime;
}
my ($seconds, $microseconds) = gettimeofday();
my @t = localtime($seconds);
my $nfile = ResolveDateWildcards($attr{global}{logfile}, @t);
OpenLogfile($nfile) if(!$currlogfile || $currlogfile ne $nfile);
my $tim = sprintf("%04d.%02d.%02d %02d:%02d:%02d",
$t[5]+1900,$t[4]+1,$t[3], $t[2],$t[1],$t[0]);
if($attr{global}{mseclog}) {
my ($seconds, $microseconds) = gettimeofday();
$tim .= sprintf(".%03d", $microseconds/1000);
}
@ -595,6 +606,14 @@ Log($$)
return undef;
}
################################################
sub
Log($$)
{
my ($loglevel, $text) = @_;
Log3(undef, $loglevel, $text);
}
#####################################
sub
@ -2707,8 +2726,7 @@ Dispatch($$$)
}
} else {
Log GetLogLevel($name,3),
"$name: Unknown $mname device detected, " .
Log3 $name, 3, "$name: Unknown $mname device detected, " .
"define one to get detailed information.";
return undef;
@ -2718,7 +2736,7 @@ Dispatch($$$)
}
if(!int(@found)) {
DoTrigger($name, "UNKNOWNCODE $dmsg");
Log GetLogLevel($name,3), "$name: Unknown code $dmsg, help me!";
Log3 $name, 3, "$name: Unknown code $dmsg, help me!";
return undef;
}
}