2016-05-05 9 views
0

I Logback für Log-Management in einer Frühlings-Boot-Anwendung bin mit, wie ich diese Spezifikationen benötigen:Konfigurieren Logback mit Frühlings-Boot-

  • alles in eine Datei Logging
  • wichtige Dinge an die Konsole Logging
  • eine Rollpolitik mit 10 MB als maximale Dateigröße

Antwort

0

verwenden Wenn Sie nicht für logback zu verwenden Ausfedern gehen, alles, was Sie tun müssen, ist die Definition eines logback.xml (oder logback.groovy) und setzen es in classpath.

appender("FILE", RollingFileAppender) { 
    file = "root.log" 
    encoder(PatternLayoutEncoder) { 
     pattern = "%date %level [%thread] %logger{10} [%file:%line] %msg%n" 
    } 
    rollingPolicy(TimeBasedRollingPolicy) { 
     fileNamePattern = "root-%d{yyyy-MM-dd}.log" 
     maxHistory = 7 
    } 
} 

Dieses in groovy und es ist eine zeitbasierte Rollbacks appender:

Ein Rollback appender kann wie folgt definiert werden. Sie können nach weiteren Beispielen googlen.

Wenn Sie eine Federverlängerung verwenden, beachten Sie bitte here.

+0

ich eine Lösung gefunden haben, Vielen Dank trotzdem – jemlifathi

+0

@jemlifathi können Sie Ihre Lösung hier posten. –

+1

@JordanBorisov Ich habe bereits eine Antwort geschrieben, ich habe eine weitere gepostet, die einen Redis Appender enthält – jemlifathi

0

ich diese logback.xml Konfigurationsdatei verwendet und es funktionierte ziemlich gut:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration scan="true"> 

    <property name="DEV_HOME" value="logging"/> 
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <charset>UTF-8</charset> 
      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern> 
     </encoder> 
    </appender> 

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>${DEV_HOME}/debug.log</file> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <!-- daily rollover. Make sure the path matches the one in the file element or else 
      the rollover logs are placed in the working directory. --> 
      <fileNamePattern>${DEV_HOME}/archived/debug.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 

      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
       <maxFileSize>5MB</maxFileSize> 
      </timeBasedFileNamingAndTriggeringPolicy> 
      <!-- keep 30 days' worth of history --> 
      <maxHistory>30</maxHistory> 
     </rollingPolicy> 

     <encoder> 
      <charset>UTF-8</charset> 
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
     </encoder> 
    </appender> 

    <root level="DEBUG"> 
     <appender-ref ref="FILE"/> 
    </root> 
    <root level="INFO"> 
     <appender-ref ref="consoleAppender" /> 
    </root> 
</configuration> 
0

Diese Alternative eine Redis appender enthält:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration scan="true"> 

    <property name="DEV_HOME" value="logs"/> 

    <!--appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashAccessTcpSocketAppender"> 
     <destination>127.0.0.1:4560</destination> 

     <waitStrategyType>sleeping</waitStrategyType> 
     <includeCallerInfo>true</includeCallerInfo> 
     <encoder class="net.logstash.logback.encoder.LogstashAccessEncoder" > 
      <timeZone>UTC+1</timeZone> 
     </encoder> 
    </appender--> 

    <appender name="REDIS" class="com.cwbase.logback.RedisAppender"> 
     <host>localhost</host> 
     <port>6379</port> 
     <key>fouras-logs</key> 
     <type>fouras-log</type> 
     <database>12</database> 
     <sourceHost>localhost</sourceHost> 
     <source>fouras</source> 
    </appender> 
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <charset>UTF-8</charset> 
      <Pattern>[%d{yyyy-MM-dd HH:mm:ss:SSS} %thread %-5level %logger{1000} - %msg]%n</Pattern> 
     </encoder> 
    </appender> 

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>${DEV_HOME}/debug.log</file> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <!-- daily rollover. Make sure the path matches the one in the file element or else 
      the rollover logs are placed in the working directory. --> 
      <fileNamePattern>${DEV_HOME}/archived/debug.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 

      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
       <maxFileSize>5MB</maxFileSize> 
      </timeBasedFileNamingAndTriggeringPolicy> 
      <!-- keep 30 days' worth of history --> 
      <maxHistory>30</maxHistory> 
     </rollingPolicy> 

     <encoder> 
      <charset>UTF-8</charset> 
      <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS} %thread %-5level %logger{1000} - %msg]%n</pattern> 
     </encoder> 
    </appender> 

    <logger name="com.datcom.fouras" level="TRACE"> 
     <appender-ref ref="REDIS"/> 
     <!--appender-ref ref="LOGSTASH"/--> 
    </logger> 
    <root level="DEBUG"> 
     <appender-ref ref="FILE"/> 
    </root> 
    <root level="INFO"> 
     <appender-ref ref="CONSOLE"/> 
     <!--appender-ref ref="REDIS"/--> 
    </root> 
</configuration>