tomcat 日誌輸出由commons-logging更換爲logback

因爲最近在測試環境找問題的時候老是很難定位,可是本地卻沒有出現任何意外,因此爲了修改日誌數出級別煞費苦心。幸虧看到了logback這個東東對Tomcat支持很棒,因此就折騰了一下。。web

 

首先須要去logback官網 : https://logback.qos.ch/tomcat

下載對應版本的logback,而後把logback-core-1.2.3.jar和 logback-access-1.2.3.jar 放入Tomcat的lib目錄中,而後在tomcat server配置文件的host節點中添加一條app

        <Valve className="ch.qos.logback.access.tomcat.LogbackValve"/>測試

刪除conf中commons-logging.properties配置文件,添加一個logback-access.xml 的配置文件url

 

而後將以下配置複製到該文件中(摘自官網)spa

<configuration>
  <!-- always a good activate OnConsoleStatusListener -->
  <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />  

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%h %l %u %user %date "%r" %s %b</pattern>
    </encoder>
  </appender>

  <appender-ref ref="STDOUT" />
</configuration>

而後啓動Tomcat,會輸出日誌

 

這樣的日誌,說明你的logback與Tomcat已經完美的整合到一塊兒code

 

另: logback增長了一個叫 Viewing status messages 的組件,看着滿高大上的樣子,順手就集成進來了。。集成方式很是簡單,只須要在根web.xml中加入server

<servlet>
    <servlet-name>AccessViewStatusMessages</servlet-name>
    <servlet-class>ch.qos.logback.access.ViewStatusMessagesServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>AccessViewStatusMessages</servlet-name>
    <url-pattern>/lbAccessStatus</url-pattern>
  </servlet-mapping>

該servlet,便可。Tomcat啓動以後訪問xml

http://localhost:{port}/lbAccessStatus 便可出現對應的狀態信息

相關文章
相關標籤/搜索