logback配置日誌輸出
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-access</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>org.logback-extensions</groupId> <artifactId>logback-ext-spring</artifactId> <version>0.1.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.12</version> </dependency>
logback.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <property name="SYS_LOG_DIR" value="d:/WEBLOAN" /> <property name="LOG_FILE" value="webloan.log" /> <property name="fileLayoutPattern" value="%-20(%d{yyyyMMdd_HH:mm:ss.SSS} [%logger{10}][%thread] [%-4relative]) [%X{hostName} %X{requestId} %X{processId} %X{service.timing} ][%level] %msg%n" /> <property name="consoleLayoutPattern" value="%-20(%d{yyyyMMdd_HH:mm:ss.SSS} [%logger][%thread] [%-4relative]) [%X{hostName} %X{requestId} %X{processId} %X{service.timing} ][%level] %msg%n" /> <appender name="LOG_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${SYS_LOG_DIR}/${LOG_FILE}</file> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <!-- 日誌過濾器,只記錄warn級別日誌 ,若要配置其他級別,複製appender,修改level,並在root中配置--> <level>WARN</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${SYS_LOG_DIR}/%d{yyyy-MM-dd}/${LOG_FILE}_%d{yyyy-MM-dd}_%i.zip</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>50MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <layout> <pattern>${fileLayoutPattern}</pattern> </layout> </appender> <!-- 控制檯輸出 --> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <layout name="StandardFormat" class="ch.qos.logback.classic.PatternLayout"> <pattern>${consoleLayoutPattern}</pattern> </layout> </appender> <logger name="java.sql.PreparedStatement" level="DEBUG" /> <logger name="java.sql.Connection" level="DEBUG" /> <logger name="java.sql.Statement" level="DEBUG" /> <logger name="com.ibatis" level="DEBUG" /> <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="DEBUG" /> <logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG" /> <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" /> <!-- <logger name="org.springframework" level="ERROR" /> --> <logger name="net.sf.ehcache" level="ERROR"/> <!-- <logger name="org.mybatis.spring" level="ERROR"/> --> <root level="DEBUG"> <appender-ref ref="CONSOLE" /> <!-- 控制檯輸出 --> <appender-ref ref="LOG_ROLLING" /> <!-- 檔案輸出 --> </root> </configuration>
參考:
Logback是由log4j創始人設計的又一個開源日誌元件。logback當前分成三個模組:logback-core,logback- classic和logback-access。logback-core是其它兩個模組的基礎模組。logback-classic是log4j的一個 改良版本。此外logback-classic完整實現SLF4J API使你可以很方便地更換成其它日誌系統如log4j或JDK14 Logging。logback-access訪問模組與Servlet容器整合提供通過Http來訪問日誌的功能。
logback.xml配置如下:
-
<?xml version="1.0" encoding="UTF-8"?>
- <!-- 從高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL -->
- <!-- 日誌輸出規則 根據當前ROOT 級別,日誌輸出時,級別高於root預設的級別時 會輸出 -->
- <!-- 以下 每個配置的 filter 是過濾掉輸出檔案裡面,會出現高級別檔案,依然出現低級別的日誌資訊,通過filter 過濾只記錄本級別的日誌-->
- <!-- 屬性描述 scan:性設定為true時,配置檔案如果發生改變,將會被重新載入,預設值為true scanPeriod:設定監測配置檔案是否有修改的時間間隔,如果沒有給出時間單位,預設單位是毫秒。當scan為true時,此屬性生效。預設的時間間隔為1分鐘。
- debug:當此屬性設定為true時,將打印出logback內部日誌資訊,實時檢視logback執行狀態。預設值為false。 -->
- <configuration scan="true" scanPeriod="60 seconds" debug="false">
- <!-- 定義日誌檔案 輸入位置 -->
- <property name="log_dir" value="/logs/ev_cmdb" />
- <!-- 日誌最大的歷史 30天 -->
- <property name="maxHistory" value="30"/>
- <!-- ConsoleAppender 控制檯輸出日誌 -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <!-- 對日誌進行格式化 -->
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern>
- </encoder>
- </appender>
- <!-- ERROR級別日誌 -->
- <!-- 滾動記錄檔案,先將日誌記錄到指定檔案,當符合某個條件時,將日誌記錄到其他檔案 RollingFileAppender-->
- <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- 過濾器,只記錄WARN級別的日誌 -->
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>ERROR</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <!-- 最常用的滾動策略,它根據時間來制定滾動策略.既負責滾動也負責出發滾動 -->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--日誌輸出位置 可相對、和絕對路徑 -->
- <fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/error-log.log</fileNamePattern>
- <!-- 可選節點,控制保留的歸檔檔案的最大數量,超出數量就刪除舊檔案假設設定每個月滾動,且<maxHistory>是6,
- 則只儲存最近6個月的檔案,刪除之前的舊檔案。注意,刪除舊檔案是,那些為了歸檔而建立的目錄也會被刪除-->
- <maxHistory>${maxHistory}</maxHistory>
- </rollingPolicy>
- <!-- 按照固定視窗模式生成日誌檔案,當檔案大於20MB時,生成新的日誌檔案。視窗大小是1到3,當儲存了3個歸檔檔案後,將覆蓋最早的日誌。
- <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/.log.zip</fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>3</maxIndex>
- </rollingPolicy> -->
- <!-- 檢視當前活動檔案的大小,如果超過指定大小會告知RollingFileAppender 觸發當前活動檔案滾動
- <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy> -->
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
- </encoder>
- </appender>
- <!-- WARN級別日誌 appender -->
- <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- 過濾器,只記錄WARN級別的日誌 -->
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>WARN</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- 按天回滾 daily -->
- <fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/warn-log.log
- </fileNamePattern>
- <!-- 日誌最大的歷史 60天 -->
- <maxHistory>${maxHistory}</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
- </encoder>
- </appender>
- <!-- INFO級別日誌 appender -->
- <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- 過濾器,只記錄INFO級別的日誌 -->
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- 按天回滾 daily -->
- <fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/info-log.log
- </fileNamePattern>
- <!-- 日誌最大的歷史 60天 -->
- <maxHistory>${maxHistory}</maxHistory>
- </rollingPolicy>
-
相關推薦
logback配置日誌輸出
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</ve
Spring Boot中實現logback多環境日誌配置(日誌輸出)
Spring Boot中實現logback多環境日誌配置 - EasonJim - 部落格園 https://www.cnblogs.com/EasonJim/p/7801549.html Spring Boot中實現logback多環境日誌配置 方法
SLF4J + logback 實現日誌輸出和記錄
-- .com 保持 不存在 default stat 我們 fix jar包 一、SLF4J SLF4J,即簡單日誌門面(Simple Logging Facade for Java),不是具體的日誌解決方案,它只服務於各種各樣的日誌系統。在使用SLF4J的時候,不
利用slf4j配置日誌輸出
1. 首先準備相關jar包,如下: slf4j-api-1.7.2.jar,logback-classic-1.0.9.jar,logback-core-1.0.9.jar 2. 在src檔案路徑下,存放logback.xml檔案,具體內容如下
Spring Boot 配置日誌輸出等級
Spring boot 預設使用 logback作進行日誌輸出。 又兩種方式一個是通過application.properties 配置檔案的方式來配置。 另一種是通過logback.xml配置檔案的方式進行配置。 首先要說的是:application.propertie
logback配置日誌檔案位置
logback輸出的日誌檔案,預設會放到“啟動程序”的目錄下面 比如說程式直接在eclipse裡跑,就會輸出到eclipse.exe所在的目錄下,如果是在tomcat中跑,就會輸出到%TOMCAT_HOME%/bin目錄下 <appender name="FILE"
Spring Boot 配置日誌輸出樣式
想要修改Spring Boot的日誌配置,加了log4j.properties檔案發現是無效的,經過查詢文件,原來是可以直接在application.properites或application.yaml直接進行配置#配置日誌輸出型別 logging.pattern.cons
Kafka之——擴充套件logback將日誌輸出到Kafka例項
一、Kafka的安裝 注意:本文是基於kafka_2.11-0.9.0.0.tgz、zookeeper-3.4.9.tar.gz 實現的。 二、實現 1、建立Formatter介面 主要作用是定義一個format方法,接收ILoggingEvent物件,返回字串。具體程
log4j高階技巧--動態配置日誌輸出檔案的位置
og4j高階技巧--動態配置日誌輸出檔案的位置 log4j的通常用法就是通過在其配置檔案(xml或properties)中直接將輸出檔案寫死,在很多情況下,這樣做是非常簡單而又有效的。但這樣做的缺點是,如果想讓這個web應用執行起來,必須要修改log4j的配置檔案。
windows下tomcat配置日誌輸出到檔案
This section explains how to configure Tomcat to use log4j rather than java.util.logging for all Tomcat’s internal logging. Note:
springboot2+logback將日誌輸出到oracle資料庫的踩坑之旅
背景 根據本人寫部落格的慣例,先交代下背景。在公司的系統中,我們的配置檔案是切分有好幾個的,不同的配置檔案裡面配置內容有著不同,對
logback日誌輸出不同級別到不同檔案(開發例項配置)
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 控制檯 appender --> <appender name="STDOUT" class="
logback 配置 不同level日誌輸出到不同檔案 按天 大小拆分
logback.xml <!-- Logback configuration. See http://logback.qos.ch/manual/index.html --> <configuration scan="true" scanPeriod="1
logback 配置不同級別日誌輸出
logback節點配置詳解請參考:http://www.cnblogs.com/DeepLearing/p/5663178.html 配置不同級別日誌輸出模板如下: <?xml version="1.0" encoding="UTF-8"?> <con
Spring boot logback日誌輸出多環境配置
本人專案結構如下圖:特備註意logback.xml必須要改成logback-spring.xml,參看https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-cus
logback配置、指定類日誌輸出到指定資料夾
1、controller程式碼demopackage com.duke.api;@Controllerpublic class demo {private static final Logger logger = LoggerFactory.getLogger(demo.cl
springboot logback-spring配置mybatis日誌輸出
<logger name="com.mycompany.myapp.mapper.MyMapper" level="DEBUG" additivity="false"/> log4j的ad
log4j日誌輸出到文件的配置
imp 名稱 1.0 sql apach warn ring source util 1.Maven的dependency 2.log4j.properties的配置 3.Junit的Test類 4.web.xml的配置(非必要) 5.spring的db.config的配置
關於spring-boot 的日誌輸出到控制臺和指定文件的配置
add contex ring level true source ont utf onf (1)問題:在本地使用spring-boot開發的程序,一直想讓文件按照天輸出到某個文件夾下面。但是一直成功。 解決過程: 想到日誌優先想著配置lo
Django 中使用 logging 配置 logger 自定義日誌輸出
講解 handler ati dmi ase set file 過程 require 在使用 django 開發過程中,默認的日誌輸出是不能滿足我們去排查問題的,往往需要自定義的日誌輸出,幫助我們去排查程序BUG,定位問題原因。 在使用 django 的開發過程中,我使用的