您的位置:首页 > 其它

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

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

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

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


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: