麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

SpringBoot Logback日志配置

2019-11-06 08:04:18
字體:
來源:轉載
供稿:網友

Logback的配置介紹:

1、Logger、appender及layout

Logger作為日志的記錄器,把它關聯到應用的對應的context上后,主要用于存放日志對象,也可以定義日志類型、級別。

Appender主要用于指定日志輸出的目的地,目的地可以是控制臺、文件、遠程套接字服務器、 MySQL、 PostreSQL、 Oracle和其他數據庫、 JMS和遠程UNIX Syslog守護進程等。

Layout 負責把事件轉換成字符串,格式化的日志信息的輸出。

2、logger context

各個logger 都被關聯到一個 LoggerContext,LoggerContext負責制造logger,也負責以樹結構排列各 logger。其他所有logger也通過org.slf4j.LoggerFactory 類的靜態方法getLogger取得。 getLogger方法以 logger 名稱為參數。用同一名字調用LoggerFactory.getLogger 方法所得到的永遠都是同一個logger對象的引用。

3、有效級別及級別的繼承

Logger 可以被分配級別。級別包括:TRACE、DEBUG、INFO、WARN 和 ERROR,定義于 ch.qos.logback.classic.Level類。如果 logger沒有被分配級別,那么它將從有被分配級別的最近的祖先那里繼承級別。root logger 默認級別是 DEBUG。

4、打印方法與基本的選擇規則

打印方法決定記錄請求的級別。例如,如果 L 是一個 logger 實例,那么,語句 L.info(“..”)是一條級別為 INFO 的記錄語句。記錄請求的級別在高于或等于其 logger 的有效級別時被稱為被啟用,否則,稱為被禁用。記錄請求級別為 p,其logger的有效級別為 q,只有則當 p>=q時,該請求才會被執行。

該規則是 logback 的核心。級別排序為: TRACE < DEBUG < INFO < WARN < ERROR。

logback的使用:

Logback的默認配置

如果配置文件 logback-test.xml 和 logback.xml 都不存在,那么 logback 默認地會調用BasicConfigurator ,創建一個最小化配置。最小化配置由一個關聯到根 logger 的ConsoleAppender 組成。輸出用模式為%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 的 PatternLayoutEncoder 進行格式化。root logger 默認級別是 DEBUG。

1、Logback的配置文件

Logback 配置文件的語法非常靈活。正因為靈活,所以無法用 DTD 或 XML schema 進行定義。盡管如此,可以這樣描述配置文件的基本結構:以開頭,后面有零個或多個元素,有零個或多個元素,有最多一個元素。

2、Logback默認配置的步驟

(1). 嘗試在 classpath 下查找文件 logback-test.xml;

(2). 如果文件不存在,則查找文件 logback.xml;

(3). 如果兩個文件都不存在,logback 用 Bas icConfigurator 自動對自己進行配置,這會導致記錄輸出到控制臺。

3、Logback.xml 文件

在src/main/resources下添加Logback.xml目錄如下:

內容如下:

<?xml version="1.0" encoding="UTF-8"?><configuration debug="false"> <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑--> <PRoperty name="LOG_HOME" value="/test/log" /> <!-- 控制臺輸出 --> <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> <!-- show parameters for hibernate sql 專為 Hibernate 定制 --> <logger name="org.hibernate.type.descrjava.sql.Connection" level="DEBUG"/> <logger name="java.sql.Statement" level="DEBUG"/> <logger name="java.sql.PreparedStatement" level="DEBUG"/> <!-- 日志輸出級別 --> <root level="INFO"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> </root> <!--日志異步到數據庫 --> <!--<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">--> <!--&lt;!&ndash;日志異步到數據庫 &ndash;&gt;--> <!--<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">--> <!--&lt;!&ndash;連接池 &ndash;&gt;--> <!--<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">--> <!--<driverClass>com.mysql.jdbc.Driver</driverClass>--> <!--<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>--> <!--<user>root</user>--> <!--<passWord>root</password>--> <!--</dataSource>--> <!--</connectionSource>--> <!--</appender>--></configuration>

在程序用引用Logback:

package com.example.web;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class Example { private final static Logger logger = LoggerFactory.getLogger(Example.class); @RequestMapping("/") public String home() { logger.info("logback 訪問hello"); logger.error("logback 訪問hello"); return "Hello World!"; }}

通過運行程序并訪問:http://localhost:8080,可以獲得下面的日志輸出:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 羞羞的视频免费观看 | 性生活视频一级 | 国内精品久久久久久影视8 嫩草影院在线观看网站成人 | 少妇的肉体的满足毛片 | 成人一级片毛片 | 最近中文字幕一区二区 | 色视频在线观看 | 国产激情网 | 麻豆视频观看 | 中文字幕网在线 | 久久国产在线观看 | 九九福利视频 | 鲁久久 | 久草在线公开视频 | 亚洲一区国产二区 | 亚州综合一区 | 黄色男女视频 | 久久一本日日摸夜夜添 | 亚洲免费视频大全 | 国产污污视频 | 毛片国产| 福利在线小视频 | 国产精品免费一区二区三区都可以 | 国产精品久久久久国产精品三级 | 国产免费永久在线观看 | 日韩av有码在线 | 欧美视频在线一区二区三区 | 91麻豆精品国产91久久久点播时间 | 久久国产精品小视频 | 福利在线小视频 | 精品国产91一区二区三区 | 国产一级二级在线播放 | 午夜国产在线观看 | 欧美一级黄色免费 | 久久撸视频 | 特级毛片a级毛片100免费 | 伊久在线 | 法国性xxx精品hd | 国产成人精品免高潮在线观看 | 懂色粉嫩av久婷啪 | 亚洲草逼视频 |