您好,登錄后才能下訂單哦!
Springboot 中怎么整合logback日志管理,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
官方推薦 | 默認讀取resources目錄下的 logback-spring.xml |
自定義位置 | application.yml中配置: ( logging.config: classpath:log/logback-spring.xml ; logging.level.root: info ) |
3.1 LOG_HOME catalina.base 指同項目父目錄同級的目錄
3.2 root.level 指定日志級別
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑--> <property name="LOG_HOME" value="${catalina.base}/logs/" /> <!-- 控制臺輸出 --> <appender name="Stdout" class="ch.qos.logback.core.ConsoleAppender"> <!-- 日志輸出編碼 --> <layout class="ch.qos.logback.classic.PatternLayout"> <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n </pattern> </layout> </appender> <!-- 按照每天生成日志文件 --> <appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件輸出的文件名--> <FileNamePattern>${LOG_HOME}/server.%d{yyyy-MM-dd}.log</FileNamePattern> <MaxHistory>30</MaxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n </pattern> </layout> <!--日志文件最大的大小--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> </appender> <!-- 日志輸出級別 --> <root level="warn"> <appender-ref ref="Stdout" /> <appender-ref ref="RollingFile" /> </root> <!--日志異步到數據庫 --> <!-- <appender name="DB" class="ch.qos.logback.classic.db.DBAppender"> 日志異步到數據庫 <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource"> 連接池 <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>
4.1 在類中直接使用@slf4j注解,在代碼中直接使用log對象,需要引入 lombok
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>
4.2 通過loggerFactory創建實例
import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/logback") /*1.通過@slf4j注解引入log實例*/ @Slf4j public class HelloController { /*2. 通過loggerFacotory創建logger實例*/ //private final static Logger log= LoggerFactory.getLogger(HelloController.class); @RequestMapping("/showinfo") @ResponseBody public String ShowInfo(){ log.info("hello!"); return "hello logback"; } }
application.properties 中配置
關閉 com.zhl.springbootlogback的日志:
logging.level.com.zhl.springbootlogback=off
看完上述內容,你們掌握Springboot 中怎么整合logback日志管理的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。