bboss log4j滚动日志文件扩展插件使用介绍

简介: bboss扩展了log4j滚动切割文件插件org.apache.log4j.NormalRollingFileAppender,NormalRollingFileAppender可以实现按照日期时间格式向前命名滚动的日志文件和当前的日志文件(默认官方滚动插件不支持按日期格式命名当前文件),同时也可以按照整数索引方式向前命名滚动的日志文件和当前的日志文件(默认官方滚动插件不支持按日期格式命名当前文件),在滚动日志文件的同时,不会重命名已经产生的日志名称(默认插件会重命名)。
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();
				}
			}

		}
    }	
}


生成的日志文件截图
img_b9c05c9a40f3efc248e3a083efd80974.png


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
23天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
77 1
|
24天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
78 1
|
3天前
|
Java
log4j异常日志过滤规则配置
log4j异常日志过滤规则配置
13 0
|
6天前
|
运维 Oracle 关系型数据库
Oracle日志文件:数据王国的“记事本”
【4月更文挑战第19天】Oracle日志文件是数据库稳定运行的关键,记录数据变更历史,用于恢复和故障处理。它们协调并发操作,确保数据一致性和完整性。日志文件实时写入操作信息并定期刷新到磁盘,便于数据恢复。然而,日志文件需备份和归档以保证安全性,防止数据丢失。日志文件,数据王国的“记事本”,默默守护数据安全。
|
15天前
|
运维 安全 Ubuntu
`/var/log/syslog` 和 `/var/log/messages` 日志详解
`/var/log/syslog` 和 `/var/log/messages` 是Linux系统的日志文件,分别在Debian和Red Hat系发行版中记录系统事件和错误。它们包含时间戳、日志级别、PID及消息内容,由`rsyslog`等守护进程管理。常用命令如`tail`和`grep`用于查看和搜索日志。日志级别从低到高包括`debug`到`emerg`,表示不同严重程度的信息。注意保护日志文件的安全,防止未授权访问,并定期使用`logrotate`进行文件轮转以管理磁盘空间。
21 1
|
16天前
|
网络协议 应用服务中间件 Linux
centos7 Nginx Log日志统计分析 常用命令
centos7 Nginx Log日志统计分析 常用命令
29 2
|
16天前
|
Ubuntu Linux 网络安全
/var/log/auth.log日志详解
`/var/log/auth.log`是Linux(尤其是Debian系如Ubuntu)记录身份验证和授权事件的日志文件,包括登录尝试(成功或失败)、SSH活动、sudo使用和PAM模块的操作。登录失败、SSH连接、sudo命令及其它认证活动都会在此记录。查看此日志通常需root权限,可使用`tail`、`less`或`grep`命令。文件内容可能因发行版和配置而异。例如,`sudo tail /var/log/auth.log`显示最后几行,`sudo grep &quot;failed password&quot; /var/log/auth.log`搜索失败密码尝试。
66 8
|
28天前
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
51 0
|
1月前
|
存储 数据库
ALTER MATERIALIZED VIEW LOG :语句来更改现有物化视图日志的存储特征或类型。
`ALTER MATERIALIZED VIEW LOG` 语句用于修改已有的物化视图日志的存储属性或类型。配合示例中的动画图像(由于格式限制无法显示),该语句帮助优化数据库的性能和管理。
44 0