當前位置:
首頁 > 知識 > bboss log4j滾動日誌文件擴展插件使用介紹

bboss log4j滾動日誌文件擴展插件使用介紹

bboss擴展了log4j滾動切割文件插件org.apache.log4j.NormalRollingFileAppender,NormalRollingFileAppender可以實現按照日期時間格式向前命名滾動的日誌文件和當前的日誌文件(默認官方滾動插件不支持按日期格式命名當前文件),同時也可以按照整數索引方式向前命名滾動的日誌文件和當前的日誌文件(默認官方滾動插件不支持按日期格式命名當前文件),在滾動日誌文件的同時,不會重命名已經產生的日誌名稱(默認插件會重命名)。通過不重命名已有文件和生成新的帶日期或者整數索引的日誌文件,可以很好地解決logstash、filebeat、flume等日誌數據採集工具在日誌文件滾動切割的時候,漏掉正在切割文件中的日誌數據,因為有可能數據還沒採集完,文件已經被重命名了。

在工程中NormalRollingFileAppender引入插件

maven坐標


com.bbossgroups.plugins
bboss-plugin-log4j
5.0.3

gradle坐標

compile "com.bbossgroups.plugins:bboss-plugin-log4j:5.0.3"

在log4j.xml文件中配置擴展插件NormalRollingFileAppender





注意事項:

useDatePattern參數必須配置在file參數前面,true 日誌文件名稱採用日期格式 false 採用整數索引格式(默認值)

BufferedIO是否採用緩衝機制,true 採用 false 不採用。如果日誌文件需要被flume,logstash,filebeat等工具按行採集,則不能開啟緩衝機制,因為log4j在flush日誌數據時,很有可能將一條不完整的日誌記錄刷入日誌文件,不完整的日誌記錄很可能被採集工具採集,從而導致採集的日誌記錄不完整。

java程序中記錄日誌:

package org.gradle;

import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Invoke {
/*private static final Logger servicelog = LoggerFactory.getLogger("servicelog");
private static final Logger weblog = LoggerFactory.getLogger("weblog");*/

private static final Logger log_invoke = LoggerFactory.getLogger(Invoke.class);
//private static final Logger log_httpclientutils = LoggerFactory.getLogger(HttpClientUtils.class);

//
@Test
public void log {
long interval = 5l;
while(true) {

log_invoke.info("日誌信息");

if(interval > 0) {
try {
Thread.currentThread.sleep(interval);
} catch (InterruptedException e) {
e.printStackTrace;
}
}

}
}
}

生成的日誌文件截圖

bboss log4j滾動日誌文件擴展插件使用介紹

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科技優家 的精彩文章:

bencode對象編碼實現
Docker Machine 詳解
演算法導論中的四種基本排序
虛擬機是如何載入類的
WPF:實現 ScrollViewer 滾動到指定控制項處

TAG:科技優家 |

您可能感興趣

Web Pages 文件
使用python將excel轉為lua文件
Eclipse編輯Spring配置文件xml時自動提示類class包名
使用 foremost 恢復已刪除文件
理解 Linux 中的 /etc/services 文件
通過調用Windows命令,將chm 文件轉換為html 文件
Spring Boot 配置文件 yml與properties
django載入css文件和圖片
Spring Boot 文件上傳
WordPress插件WooCommerce任意文件刪除漏洞分析
tensorboard多個events文件顯示紊亂的解決辦法
乾貨:詳解 Tomcat 配置文件 server.xml
使用 YAML 文件創建 Kubernetes Deployment
使用Elasticsearch搭建一個文件搜索系統
linux中用locate查找文件
Linux系統安裝Oracle,配置etc/security/limits.conf文件
Github使用.gitignore文件忽略不必要上傳的文件
第三方使用Fluent Design重新設計Windows 10文件關聯對話框
Mybatis配置文件
vue-cli 腳手架中 webpack 配置基礎文件詳解