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


※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 配置基礎文件詳解