bboss扩展了log4j滚动切割文件插件org.apache.log4j.NormalRollingFileAppender,NormalRollingFileAppender可以实现按照日期时间格式向前命名滚动的日志文件和当前的日志文件(默认官方滚动插件不支持按日期格式命名当前文件),同时也可以按照整数索引方式向前命名滚动的日志文件和当前的日志文件(默认官方滚动插件不支持按日期格式命名当前文件),在滚动日志文件的同时,不会重命名已经产生的日志名称(默认插件会重命名)。通过不重命名已有文件和生成新的带日期或者整数索引的日志文件,可以很好地解决logstash、filebeat、flume等日志数据采集工具在日志文件滚动切割的时候,漏掉正在切割文件中的日志数据,因为有可能数据还没采集完,文件已经被重命名了。
在工程中NormalRollingFileAppender引入插件
maven坐标
<dependency>
<groupId>com.bbossgroups.plugins</groupId>
<artifactId>bboss-plugin-log4j</artifactId>
<version>5.0.5.7</version>
</dependency>
gradle坐标
compile 'com.bbossgroups.plugins:bboss-plugin-log4j:5.0.5.7'
在log4j.xml文件中配置扩展插件NormalRollingFileAppender
<appender name="invoke_log4j" class="org.apache.log4j.NormalRollingFileAppender">
<param name="useDatePattern" value="true" />
<param name="file" value="test.log" />
<param name="append" value="true" />
<param name="maxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10"/>
<param name="BufferedIO" value="false" />
<param name="BufferSize" value="8192" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd/MM/yy HH:mm:ss:sss z}] %t %5p %c{2}: %m%n" />
</layout>
</appender>
<logger name="org.gradle.Invoke" additivity="false">
<level value = "info" />
<appender-ref ref = "invoke_log4j" />
</logger>
注意事项:
useDatePattern参数必须配置在file参数前面,true 日志文件名称采用日期格式 false 采用整数索引格式(默认值)
BufferedIO是否采用缓冲机制,true 采用 false 不采用。
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();
}
}
}
}
}
生成的日志文件截图
- 大小: 44.1 KB
分享到:
相关推荐
NULL 博文链接:https://yin-bp.iteye.com/blog/2325602
bboss es特点请访问: https://www.oschina.net/p/bboss-elastic
NULL 博文链接:https://yin-bp.iteye.com/blog/1131637
bboss会话共享培训文档,学习bboss不可多得的资料,值得拥有。
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
NULL 博文链接:https://yin-bp.iteye.com/blog/2174863
企业级 J2EE 开源框架:bboss
bboss+es基本操作示例,elasticsearch,bboss,java使用demo
NULL 博文链接:https://yin-bp.iteye.com/blog/1449900
官方版本,亲测可用
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
NULL 博文链接:https://yin-bp.iteye.com/blog/926166
资源目录: 项目源码(eshelloword.rar) bboss elasticsearch开发入门教程.wmv 搭建bboss elasticsearch开发环境.wmv 说明.txt
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
NULL 博文链接:https://yin-bp.iteye.com/blog/2177475
浙江移动BBOSS系统快速入门手册V0.1归类.pdf
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。
官方版本,亲测可用
基于bboss新版平台项目环境搭建和代码工具使用视频教程
基于java语言比mybatis更实用的orm框架,支持mysql、oracle、postgresql、sqlserver、db2、dm、mongodb