一、為什麼使用非同步日誌why
為提高程式效能,盡量預設都使用非同步日誌,如果不使用,可能日誌在打包的時候,會占用大量磁碟io和cpu,導致程式效能下降
二、依賴
<注意:log4j-over-slf4j 和 slf4j-log4j12會迴圈引用,導致記憶體溢位。dependency
>
<
groupid
>org.slf4j
groupid
>
<
artifactid
>slf4j-api
artifactid
>
<
version
>1.7.20
version
>
dependency
>
<
dependency
>
<
groupid
>org.slf4j
groupid
>
<
artifactid
>log4j-over-slf4j
artifactid
>
<
version
>1.7.20
version
>
dependency
>
<
dependency
>
<
groupid
>ch.qos.logback
groupid
>
<
artifactid
>logback-classic
artifactid
>
<
version
>1.1.7
version
>
dependency
>
<
dependency
>
<
groupid
>ch.qos.logback
groupid
>
<
artifactid
>logback-core
artifactid
>
<
version
>1.1.7
version
>
dependency
>
configuration>
,通過定義的值會被插入到logger上下文中
4. 獲取時間戳字串:,一般不設定
logs/abc.log
$ class="ch.qos.logback.core.rolling.timebasedrollingpolicy">
logs/abc.%d.log.zip
7true
name: 用來指定受此loger約束的某乙個包或者具體的某乙個類,是乙個路徑
level: 用來設定列印級別,大小寫無關:trace, debug, info, warn, error, all 和 off
addtivity: 是否向上級loger傳遞列印資訊。預設是true,如果傳遞有可能列印多次,一般設定為false
6.,也是元素,但是它是根logger,只有乙個level屬性,一般是warn級別往上
7. 非同步列印日誌,先把日誌寫入阻塞佇列,然後才寫到磁碟上
8. 遮蔽某個包的日誌
<9. 例子logger
name
="packagename"
level
="off"
>
logger
>
<?xml version="1.0" encoding="utf-8"?>參考:class="ch.qos.logback.classic.patternlayout">
$logs/abc.log
$ class="ch.qos.logback.core.rolling.timebasedrollingpolicy">
logs/abc.%d.log.zip
7true
512
logback 非同步日誌配置
目前所有的日誌記錄方式採用的都是同步的方式,即直接將日誌寫入檔案。在多應用的時候,這種效果會導致一定的執行緒執行延遲,所以可以採用非同步的方式處理。0.11及以上版本存在 非同步日誌記錄是在原來logback上的擴充套件,並不是替代方式,所以只需要在原來的配置檔案上新增一下配置 這樣你的工程就會使用...
logback 日誌非同步配置
5level logger 5line msg n d.log 10 這種同步寫入的方式勢必會影響業務的執行效率。幸運的是,logback 提供了非同步的方式來解決這個問題,logback spring.xml 配置如下 5level logger 5line msg n d.log 10 0 51...
logback高階特性使用 非同步記錄日誌
注意 該功能需要高版本才能支援,如1.0.11。當logging 屬性名型別描述 queuesize intblockingqueue的最大容量,預設情況下,大小為256。discardingthreshold int預設情況下,當blockingqueue還有20 容量,他將丟棄trace deb...