Ankündigung

Einklappen
Keine Ankündigung bisher.

Logging - Ideen gefragt

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

    Logging - Ideen gefragt

    Guten Morgen,
    ich bin jetzt - endlich - auf SmarthomeNG umgestiegen, da ich den RPY nicht mehr will.
    Hierzu habe ich die neue Version 1.7 auf meinem Synology installiert und das scheint sehr performant und sauber zu laufen.
    Für den letzten Beitrag im falschen Threat möchte ich mich entschuldigen, war ein doofes versehen, ich werde das zukünftig besser beachten.

    Nun zum eigentlichen Thema, ich habe im alten smarthome.py ein tägliches Log geschrieben um bei eventuellen Fehlern das besser rekonstuieren zu können.
    Hierzu habe ich in meinen Skripts einfach mittels sh.eventlog Einträge geschrieben.

    Diese habe ich dann täglich rotiert und wenn sie älter als 7 Tage waren gelöscht...


    Code:
    #!/usr/bin/env python
    
    import os
    import time
    import subprocess
    
    progna = 'log_loeschen'
    logtxt = '\t'
    
    #TIME_OFFSET_IN_SECONDS = 7257600 # <= 60s * 60m * 24h * 7d * 12w
    TIME_OFFSET_IN_SECONDS = 1814400 # <= 60s * 60m * 24h * 7d = 1 Woche
    
    for root, _, files in os.walk('/usr/local/smarthome/var/log'):
        for filename in files:
            full_path = os.path.join(root, filename)
            #print(fullpath)
            if time.time() - os.path.getmtime(full_path) > TIME_OFFSET_IN_SECONDS:
            try:
                os.remove(full_path)
                logtxt = '{} gelöscht '.format(full_path)
            except Exception as e:
                logtxt = 'Datei "{}" konnte nicht geloscht werden. Fehlermeldung: {}'.format(full_path, e)
    
    sh.eventlog('(Log loeschen)', logtxt)
    Mit dem neuen Log komme ich allerdings noch nicht klar, ich würde das System gerne beibehalten, wo muss ich denn ansetzen um das wieder so abzubilden?
    Meine Idee wäre einen neuen Item mit logger.daylog einzurichten, der mir täglich da reinschreibt...

    Gruß Peter
    Zuletzt geändert von bmx; 14.04.2020, 09:12.
    never fummel a running system...

    #2
    Moin,
    Hast du in der Doku den Abschnitt Logging gesehen?
    Da ist das Logging und auch best Practice beschrieben.

    In Summe hast du standardmäßig 3 Logdateien, in die du unterschiedliche Level und Inhalte schreiben kannst.
    Die Logdateien werden jeden Tag neu begonnen und die letzten 7 oder 8 bleiben im Ordner.

    Das kommt deinem Wunsch sehr nahe, und das mit Boardmitteln.

    Michael

    Kommentar


      #3
      Zitat von TRex Beitrag anzeigen
      Mit dem neuen Log komme ich allerdings noch nicht klar
      Von welcher Version kommst Du denn? Am Logging hat sich seit v1.5 nichts geändert und die Konfiguration über /etc/logging.yaml gibt es schon seit v1.2.
      Viele Grüße
      Martin

      There is no cloud. It's only someone else's computer.

      Kommentar

      Lädt...
      X