[FHZ] Logdaten socket based

Begonnen von Guest, 25 Juli 2009, 17:58:41

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Ich verwende FHEM schon eine ganze Weile mit eigenen Skripten.
Diese Skripte werten die Logfile Informationen über ein tail -f aus.
Leider ist das filesystem nicht sonderlich schnell beim flush, so dass
einige der Reaktionen meiner Skripte durchaus schneller sein könnten.
Ich habe daraufhin die Logfunktion recht unschön aber funktionstüchtig
so erweitert, dass ein an den fhem server verbundener Client die
Logdaten direkt gesendet bekommt.
Es wäre toll, wenn eine solche Funktion in FHEM integriert werden
könnte. Vielleicht über eine Option oder einen Befehl aktivier-/
deaktivierbar.

Hier meine Veränderung der Log Funktion:

sub
Log($$)
{
  my ($loglevel, $text) = @_;

  return if($loglevel > $attr{global}{verbose});

  my @t = localtime;
  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);
  }

  if($logopened) {
    print LOG "$tim $loglevel: $text\n";
    foreach my $c (keys %client) {
       syswrite($client{$c}{fd}, "$tim $loglevel: $text\n");
    }
  } else {
    print "$tim $loglevel: $text\n";
  }
  return undef;
}

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-

rudolfkoenig

                                                   

> Es wäre toll, wenn eine solche Funktion in FHEM integriert werden
> könnte.

Fuer genau diese Funktionalitaet ist eigentlich das "inform" Befehl
gedacht...
Oder sehe ich was falsch?

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-

Dennis

Originally posted by: <email address deleted>

> Oder sehe ich was falsch?

Nein und ich komme mir jetzt aber doof vor. Nun habe ich vorher
wirklich die command referenz durchgelesen und diesen 2 zeiligen
Befehl wohl übersehen.
Auf jeden Fall geht der hervorragend!

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-