Ankündigung

Einklappen
Keine Ankündigung bisher.

Visualisierung eigenes Log

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

    [callidomus] Visualisierung eigenes Log

    Hi,

    was muss ich in Phyton hinschreiben wenn ich ein eigenes logfile mit dem gleichen Format wie der default von callidomus will. Diese will ich dann in der Visu mit dem control Log nutzen.

    so hab ich es probiert ist aber offensichtlich falsch bzw. macht nicht das was ich will.
    Code:
    loggerkaco = logging.getLogger('kaco')
    loggerkaco.info( cd.Kaco.Powador12TL3.StatusText() )

    Viele Grüsse
    Jürgen
    Zuletzt geändert von heckmannju; 14.07.2016, 11:18. Grund: typo

    #2
    Hallo Jürgen,

    unter Plugins ein eigenes Log 'meinlog' anlegen. Das kannst Du dann in Logiken verwenden.

    Code:
    cd.meinlog('foo bar")
    Bis bald

    Marcus

    Kommentar


      #3
      Hi,
      Ich kann ein angelegtes Log nicht mehr ändern

      Code:
      2016-07-15 22:32:30 DEBUG    Main         Visu: admin (192.168.102.22:53123) sent '{"cmd":"admin","admin":"modifyNode","path":"Kacolog","attr":{"plugin":"Log","active":"1","name":"kaco2","type":"plugin"}}'
      2016-07-15 22:32:30 ERROR    Main         'NoneType' object does not support item assignment
      Traceback (most recent call last):
        File "/mfs/core/lib/websocket.py", line 364, in json_parse
          self.admin(data['admin'], data)
        File "/mfs/core/lib/websocket.py", line 422, in admin
          reply = self._core.config.modify_node(data['path'], data['attr'])
        File "/mfs/core/lib/config.py", line 453, in modify_node
          obj['_name'] = attr['name']
      TypeError: 'NoneType' object does not support item assignment
      2016-07-15 22:32:30 DEBUG    Main         Item haus.og.henry.voc = 1475.84 via KNX 1.1.0 8/3/3

      Kommentar


        #4
        Zitat von callidomus Beitrag anzeigen
        unter Plugins ein eigenes Log 'meinlog' anlegen. Das kannst Du dann in Logiken verwenden.
        Code:
        cd.meinlog('foo bar")
        Wo finde ich das file dann auf der Platte? Da wo die logs normalerweise liegen ist es nicht.

        Code:
        callidomus:/var/callidomus/log> ll
        total 1476
        -rw-r--r--  1 root   admin   224B 16 Jul 00:17 admin
        -rw-rw-r--  1 admin  admin    30K 16 Jul 00:20 core
        -rw-rw-r--  1 admin  admin   1,4M 16 Jul 00:00 core.2016-07-15
        -rw-r--r--  1 admin  admin   9,7K 15 Jul 13:58 gui
        -rw-r--r--  1 root   admin     0B 15 Jul 13:57 mdns
        -rw-r--r--  1 admin  admin   6,3K 15 Jul 13:58 visu
        callidomus:/var/callidomus/log>

        Kommentar


          #5
          Hi Jürgen,

          auf der Platte findest Du es nicht. Das Thema ist ja: Visualisierung eigenes Log.
          Ich müsste das Plugin erweitern, damit es auf die Platte loggt. Ich schreibe das mal auf meine Changeliste.

          Bis bald

          Marcus

          Kommentar


            #6
            Hi,

            okay das log ist noch da wenn ich durchstarte...kann man auch beim wegschreiben bestimmen ob die Zeile eingefärbt wird. Ich würde hier gern die bekannten Zeilen mit Grün und die bedenklichen mit gelb und rot makieren.

            VG
            Jürgen
            pv.png
            Capture.PNG
            Zuletzt geändert von heckmannju; 16.07.2016, 08:22.

            Kommentar


              #7
              Hi Jürgen,

              das meinlog Log ist nach dem Neustart (von core) nicht mehr da.
              Es gibt verschieden Log-Klassen. info/warning/error/critical

              cd.meinlog('foo', level='warning')

              Bis bald

              Marcus

              Kommentar


                #8
                Zitat von callidomus Beitrag anzeigen
                Hi Jürgen,

                das meinlog Log ist nach dem Neustart (von core) nicht mehr da.
                Es gibt verschieden Log-Klassen. info/warning/error/critical

                cd.meinlog('foo', level='warning')
                Okay für meinen Anwendungsfall ist das nicht genau das was ich will das das Log beim restart gelöscht wird. Ich finde es auch nicht Einheitlich das es hier nicht über ein Item geht. Das ich persistieren könnte wenn ich will.

                Sind die Farben für info noch verhandelbar? jetzt kommt nix raus und error und critical kann man nicht unterscheiden. Ich hätte gerne noch einen Level wo grün rauskommt.

                Ich hab mal einen Test gemacht was wann rauskommt

                cd.Kacolog(cd.Kaco.Powador12TL3.StatusText(), level='info')
                cd.Kacolog(cd.Kaco.Powador12TL3.StatusText(), level='warning')
                cd.Kacolog(cd.Kaco.Powador12TL3.StatusText(), level='error')
                cd.Kacolog(cd.Kaco.Powador12TL3.StatusText(), level='critical')


                capture.PNG

                Kommentar


                  #9
                  Hi Marcus,

                  an einem Log, das (optional) persistiert, wäre ich auch sehr interessiert. Idealerweise nicht nur für Logiken, sondern auch für Items. Ein Attribut, das angibt, in welches Log man schreibt, ein weiteres für ein Stringformat (gerne in der Syntax vom pythons format). Und ein drittes für den Loglevel. Und wenn man mehr flexibilität braucht, dann doch über eine Logik/code-Feld.

                  Gruß, Waldemar
                  OpenKNX www.openknx.de

                  Kommentar


                    #10
                    Hallo,

                    wie habt ihr denn das Log in die Visu eingebaut? Wenn ich das Log-Widget einfüge und als Log "meinlog" eintrage, bekomme ich eine Fehlermeldung. "cd.meinlog" nimmt er aber als Eintrag nicht. Was muss ich im Log-Widget da angeben?

                    Gruß
                    Thomas

                    Kommentar


                      #11
                      Du meinst also auch das das nicht selbsterklärend ist...mit try und error habe ich rausgekommen das man das was man im Plugin als Namen angegeben hat im Log control dann als Log angeben muss.

                      Kommentar


                        #12
                        Hallo Jürgen,

                        naja, so zwei, drei Sätze könnte man zu den Plugins ruhig noch schreiben ... ;-)

                        Das mit dem Namen wollte ich auch probieren. Aber egal was ich bei "Name" eintrage, es lässt sich nicht speichern. *rolleyes*


                        Gruß
                        Thomas

                        Kommentar


                          #13
                          Ist der fix nur für testing gemacht worden Marcus?

                          Probier mal das Plugin zu löschen und gleich mit dem Namen anlegen.

                          Kommentar


                            #14
                            Interessanterweise hänge ich an gleicher Stelle mit exakt den selben Auswirkungen

                            Ciao,
                            HeyFisch

                            Kommentar


                              #15
                              Okay das Log Plugin löschen und anlegen geht aber...das hab ich gerade mal probiert . Das Problem wo ich am Anfang des Threads mal gepostet habe ist wohl doch noch drin.

                              Hier nochmal wie es geht. Du legst ein Plugin vom Type Log an und füllst alles aus weil man darf es zur Zeit nicht mehr ändern. pluginlog.PNG



                              den Namen Merkt man sich weil den muss man bei der Benutzung angeben. Capture.PNG

                              im Phyton kann man jetzt so was in das log reinschreiben.

                              cd.Kacolog("Einspeisebetrieb", level='info')
                              cd.Kacolog("Einspeisebetrieb", level='warning')
                              cd.Kacolog("Einspeisebetrieb", level='error')
                              cd.Kacolog("Einspeisebetrieb", level='critical')

                              das sieht dann so aus
                              image_51151.png


                              @Markus: Damit man das kapieren kann würde ich vorschlagen das im Plugin auch mit Log zu bennennen sonst weis keiner was wie zusammengehört.

                              Kannst du mal nach dem Fehler gucken warum man ein Log plugin nicht mehr ändern darf?

                              VG Jürgen
                              Zuletzt geändert von heckmannju; 22.07.2016, 07:02.

                              Kommentar

                              Lädt...
                              X