美文网首页
logback 笔记 详细还是参靠官网吧

logback 笔记 详细还是参靠官网吧

作者: 小李_a98e | 来源:发表于2019-07-22 11:41 被阅读0次

    logback

    • 基础配置

    <configuration debug="true"> 
    
      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
        <!-- encoders are  by default assigned the type
             ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
        <encoder>
          <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
      </appender>
    
      <root level="debug">
        <appender-ref ref="STDOUT" />
      </root>
    </configuration>
    
    • configuration

    1.reload配置文件修改
        <configuration scan="true" scanPeriod="30 seconds" > 
          ...
        </configuration> 
    2.打印jar包版本
        <configuration packagingData="true">
          ...
        </configuration>
    3.配置logback servlet 查看配置信息
       <servlet>
            <servlet-name>ViewStatusMessages</servlet-name>
            <servlet-class>ch.qos.logback.classic.ViewStatusMessagesServlet</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>ViewStatusMessages</servlet-name>
        <url-pattern>/lbClassicStatus</url-pattern>
      </servlet-mapping>
    
    • appender

    <configuration>
    
      <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>myApp.log</file>
    
        <encoder>
          <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
        </encoder>
      </appender>
    
      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
          <pattern>%msg%n</pattern>
        </encoder>
      </appender>
    
      <root level="debug">
        <appender-ref ref="FILE" />
        <appender-ref ref="STDOUT" />
      </root>
    </configuration>    
    
    以下会导致重复打印
    <configuration>
    
      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
          <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
      </appender>
    
      <logger name="chapters.configuration">
        <appender-ref ref="STDOUT" />
      </logger>
    
      <root level="debug">
        <appender-ref ref="STDOUT" />
      </root>
    </configuration>
    
    • 设置默认不覆盖

    <logger name="chapters.configuration.Foo" additivity="false">
        <appender-ref ref="FILE" />
    </logger>
    
    • 设置上下文名称 区分不同应用记录

    <configuration>
      <contextName>myAppName</contextName>
      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
          <pattern>%d %contextName [%t] %level %logger{36} - %msg%n</pattern>
        </encoder>
      </appender>
    
      <root level="debug">
        <appender-ref ref="STDOUT" />
      </root>
    </configuration>
    
    • 变量替换

    <configuration>
    
      <property name="USER_HOME" value="/home/sebastien" />
      
      <property file="src/main/java/chapters/configuration/variables1.properties" />    
    
      <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${USER_HOME}/myApp.log</file>
        <encoder>
          <pattern>%msg%n</pattern>
        </encoder>
      </appender>
    
      <root level="debug">
        <appender-ref ref="FILE" />
      </root>
    </configuration>
    
    • 条件判断

    <configuration debug="true">
    
      <if condition='property("HOSTNAME").contains("torino")'>
        <then>
          <appender name="CON" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
              <pattern>%d %-5level %logger{35} - %msg %n</pattern>
            </encoder>
          </appender>
          <root>
            <appender-ref ref="CON" />
          </root>
        </then>
      </if>
    
      <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${randomOutputDir}/conditional.log</file>
        <encoder>
          <pattern>%d %-5level %logger{35} - %msg %n</pattern>
       </encoder>
      </appender>
    
      <root level="ERROR">
         <appender-ref ref="FILE" />
      </root>
    </configuration>
    

    相关文章

      网友评论

          本文标题:logback 笔记 详细还是参靠官网吧

          本文链接:https://www.haomeiwen.com/subject/ncvilctx.html