Log4j创建日志服务器 解决集群日志问题及话单文件

 

当我们在创建集群应用时,最头痛的时候就是出问题时,需要查看日志,但不清楚应该去哪台机子上看日志,针对此种情况,可以考虑把日志统一到专门的日志服务器上,这样只需要在日志服务器上进行查看,以下代码是作为一个例子,还不能看出日志的输出为哪台机子,以后发现再来更新此文章:

此文章希望做到抛砖引玉的作用,只是一个基本的日志应用,在此基础上可以延伸出以下几种应用方式:

1、话单文件:在服务器对某些类做专门的记录,并记录到专门的话单文件中;

2、调试日志:在服务器设置最低级别,收集到所有日志打印,并打印到某个临时文件中,但要注意文件的大小控制,防止日志过大;

3、关键日志:保存一些历史关键日志,以方便日后进行查询及跟踪。

 

Log4j Client的例子代码

import org.apache.log4j.Logger;

import com.easier.util.StatUtils;

public class Main {
	public static void main(String[] args) throws InterruptedException {
		Logger log = Logger.getLogger(Main.class);
		int i = 0;
		new StatUtils().start();
		while (true) {
			log.trace("trace : test");
			log.debug("debug : test");
			log.info("info : test");
			log.error("error : test");
			i++;
			Thread.sleep(1000);
		}
	}
}


Client的配置文件

log4j.rootLogger=debug,socket

log4j.appender.socket=org.apache.log4j.net.SocketAppender
log4j.appender.socket.RemoteHost=127.0.0.1
log4j.appender.socket.Port=4560
log4j.appender.socket.ReconnectionDelay=1000
log4j.appender.socket.LocationInfo=true
log4j.appender.socket.layout=org.apache.log4j.PatternLayout
log4j.appender.socket.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c - %m%n


服务器的启动命令很简单:

java -cp .\bin;.\log4j-1.2.16.jar org.apache.log4j.net.SocketServer 4560 ./log4jserver.properties ./logs


服务器配置文件

log4j.rootCategory=debug, console

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c - %m  -%l -%L -%M -%F      %n


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值