Ankündigung

Einklappen
Keine Ankündigung bisher.

plugin schreibt logfile nur bei "smarthome -d"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    plugin schreibt logfile nur bei "smarthome -d"

    Hallo,

    versuche meinem ersten Pythonskript das schreiben in ein Logfile zu ermöglichen. Die entsprechenden Zeilen sind:
    Code:
    logfile = open("alarmanlagelog","a")
    print(time.ctime(), ' EG: Bewegungsmelder Wohnzimmer hat ausgelöst i=',i ,  file=logfile)
    -wenn ich sh.py als smarthome-user im debugmodus starte schreibt er brav das log. Allerdings erst nachdem ich sh.py beendet hab (ctrl+c). Beim erneuten starten mit -d geht das loggen nicht mehr.
    -wenn ich sh.py über das init.d skript (ohne -d) starte bleibt das log immer leer.

    Die Datei alarmanlagelog hat folgende Rechte:
    Code:
    -rw-rw-r-- 1 smarthome smarthome 8215 Jun 10 16:25 alarmanlagelog
    smarthome@bananapi:/usr/local/smarthome$
    Was mache ich falsch, oder wo kann ich mir eine logics.conf abschauen, die erfolgreich logs schreibt?
    Zuletzt geändert von Stefan BaWue; 10.06.2015, 19:30.

    #2
    Hi Stefan,

    du solltest die Logfile nach dem Schreiben auch wieder schließen ...

    Code:
    logfile = open("alarmanlagelog","a")
    print(time.ctime(), ' EG: Bewegungsmelder Wohnzimmer hat ausgelöst i=',i , file=logfile)
    [B]logfile.close[/B]
    Noch geschickter gehts mit "with":
    Code:
    with open("alarmanlagelog","a") as logfile:
        print(time.ctime(), ' EG: Bewegungsmelder Wohnzimmer hat ausgelöst i=',i , file=logfile)
    Grüße
    offline

    Kommentar


      #3
      Vielen Dank offline. Das löst tatsächlich dieses Problem:
      -wenn ich sh.py als smarthome-user im debugmodus starte schreibt er brav das log. Allerdings erst nachdem ich sh.py beendet hab (ctrl+c). Beim erneuten starten mit -d geht das loggen nicht mehr.
      Wieder was gelernt. Das andere Problem: skript schreibt kein logfile, wenn ich es über "/etc/init.d/smarthome start" starte ist leider weiterhin da. Auch nach einem reboot.

      Kommentar


        #4
        Hi Stefan,

        probiere mal die Logdatei mit absolutem Pfad anzugeben.

        Grüße
        offline

        Kommentar


          #5
          vielen Dank.
          Mit "with open("/usr/local/smarthome/var/log/alarmanlagelog","a") as logfile:" legt er die Datei an und schreibt auch was rein...beim 2. skript start hängt er an...insofern ist das Problem gelöst.

          Kommentar

          Lädt...
          X