java日誌配置之logback的使用

 :logback引入

首先引入pom文件,slf4j+logback須要配合來使用
java

 

二:logback.xml配置

若是配置文件logback.xml 不存在,那麼 logback 默認地會用BasicConfigurator自動對本身進行配置,這會致使記錄輸出到控制檯。sql

個人項目logback.xml配置以下,對於每一個節點的做用能夠建議去參考其餘文檔apache

<?xml version="1.0" encoding="UTF-8"?>
<!--debug: 當此屬性設置爲true時,將打印出logback內部日誌信息,實時查看logback運行狀態。默認值爲false-->
<configuration debug="true">
    <!--定義日誌文件的存儲地址 勿在 LogBack 的配置中使用相對路徑-->
    <property name="LOG_HOME" value="${catalina.home}/logs" />
    <!-- 控制檯輸出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 按照天天生成日誌文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日誌文件輸出的文件名-->
            <FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日誌文件保留天數-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
        <!--日誌文件最大的大小-->
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <!-- 日誌輸出級別 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>

    <!--myibatis log configure-->
    <logger name="com.apache.ibatis" level="TRACE"/>
    <logger name="java.sql.Connection" level="DEBUG"/>
    <logger name="java.sql.Statement" level="DEBUG"/>
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>

    <!--輸出 com.example.sp.mapper 下的日誌 -->
    <logger name="com.hone.dao" level="DEBUG" />

    <!--過濾掉 druid 非 warn 日誌-->
    <logger name="com.alibaba.druid" level="WARN"/>

</configuration>

三:業務層中的使用 

這裏貼上一個示例的使用代碼:app

public class LogTest {

  private final static Logger logger = LoggerFactory.getLogger(LogTest.class);

    public static void main(String[] args) {
      logger.info("main====logback 成功了=====");
      // todo 業務邏輯
    }
  }

關於logback在項目開發中的簡單使用就介紹到這裏,謝謝你的支持ui

相關文章
相關標籤/搜索