Ankündigung

Einklappen
Keine Ankündigung bisher.

neues Logfile erzeugen

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

    neues Logfile erzeugen

    Hallo,

    ich versuche gerade ein neues Logfile zu erzeugen, aber es gelingt mir nicht.
    In der logback.xml habe ich folgende Einträge gemacht:
    Code:
    <appender name="NETWORK" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>logs/network.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- weekly rollover and archiving -->
                <fileNamePattern>logs/network-%d{yyyy-ww}.log.zip</fileNamePattern>
                <!-- keep 7 days' worth of history -->
                <maxHistory>7</maxHistory>
            </rollingPolicy>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
            </encoder>
        </appender>
    
         <logger name="NETWORK" level="INFO" additivity="false">
            <appender-ref ref="NETWORK" />
        </logger>
    In meinen Rules versuche ich jetzt Einträge zu schreiben, aber die Datei network.log bleibt leer:
    Code:
    logInfo("network","test")
        logInfo("NETWORK","test")
    Hat jemand eine Idee was falsch ist?
    Holger

    PS: Version ist 1.7
    Zuletzt geändert von HolgerW; 17.08.2016, 17:36.

    #2
    Hi Holger,
    ich habe folgenden Snippet in meiner logback.xml, um ein separates Logfile zu schreiben. Entweder Du suchst den Unterschied oder nimmst meinen Schnippsel und passt ggf. Namen an. Bei mir läuft das so.
    <appender name="RSSFILE" class="ch.qos.logback.core.rolling.RollingFileAppe nder">
    <file>${openhab.logdir:-logs}/rssfile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollin gPolicy">
    <!-- daily rollover and archiving -->
    <fileNamePattern>${openhab.logdir:-logs}/rssfile-%d{yyyy-MM-dd}.log.zip</fileNamePattern>
    <!-- maximum number of archive files to keep -->
    <maxHistory>3</maxHistory>
    </rollingPolicy>
    <encoder>
    <charset>UTF-8</charset>
    <pattern>%d{HH:mm} - %msg%n</pattern>
    </encoder>
    </appender>

    <!-- this logger is used for RSS feed, use logDebug -->
    <logger name="org.openhab.model.script.RSS" level="INFO" additivity="false">
    <appender-ref ref="RSSFILE" />
    </logger>

    Gruß Michael

    Kommentar


      #3
      Hallo Michael,
      danke für dein Script. In der ersten Zeile ist ein Leerzeichen im Wort "Appender" ganz hinten.
      Wie rufst du das Log dann auf logInfo('RSSFILE","DATEN") oder logDebug oder ?

      Holger

      Kommentar


        #4
        So, hab es hinbekommen, vielen Dank Michael.
        Hier die Lösung:
        Code:
        <appender name="NETWORK" class="ch.qos.logback.core.rolling.RollingFileAppender">
                <file>logs/network.csv</file>
                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                    <!-- weekly rollover and archiving -->
                    <fileNamePattern>logs/network-%d{yyyy-ww}.log.zip</fileNamePattern>
                    <!-- keep 7 days' worth of history -->
                    <maxHistory>7</maxHistory>
                </rollingPolicy>
                <encoder>
                    <pattern>%msg%n</pattern>
                </encoder>
            </appender>
        
             <logger name="org.openhab.model.script.NETWORK" level="INFO" additivity="false">
                <appender-ref ref="NETWORK" />
            </logger>
        Der Logger Name unten muss lauten: org.openhab.model.script.NETWORK
        In den Rules rufe ich dann auf
        Code:
        logInfo("NETWORK","Daten")
        Holger

        Kommentar


          #5
          Der Witz an der logger Konfiguration ist natürlich, dass Du den LogLevel beeinflussen kannst. Wenn Du also in diesem Block
          Code:
             <logger name="org.openhab.model.script.NETWORK" level="INFO" additivity="false">
                  <appender-ref ref="NETWORK" />
              </logger>
          Bei level "ERROR" oder "DEBUG" hinschreibst und openHAB mit dieser Konfiguration startest, wird openHAB nur Meldungen vom Level ERROR [logError("NETWORK","Message")] oder Meldungen ab dem Level DEBUG (logError(), logInfo() und logDebug()) im entsprechenden File eintragen. Man kann sich also recht komfortable Scripte bauen, die normalerweise die Klappe halten oder nur die wichtigsten Informationen liefern, aber im Fehlerfall dreht man nur an einer Stelle den LogLevel hoch und bekommt mehr Informationen, auch von kleinen Zwischenschritten.

          Kommentar

          Lädt...
          X