代码中配置log4j (同时输出不同级别的log到不同终端)

通常log4j的配置都写在log.propertiy中。但是,遇到log文件的path不能hard code的地方就没辙啦,所以只能通过程序配置。

在系统启动的时候先配置log4j的configuration

static {
		Properties pro = new Properties();
		pro.put("log4j.rootLogger", "DEBUG,C,R,A");

		pro.put("log4j.appender.C", "org.apache.log4j.ConsoleAppender");
		pro.put("log4j.appender.C.Threshold", "INFO");
		pro.put("log4j.appender.C.layout", "org.apache.log4j.PatternLayout");
		pro.put("log4j.appender.C.layout.ConversionPattern", "%n %m");

		pro.put("log4j.appender.R", "org.apache.log4j.RollingFileAppender");
		pro.put("log4j.appender.R.File", MachineBuilder.getCurMachine().getFolder().getLogPath() + "XXX.log");
		pro.put("log4j.appender.R.MaxFileSize", "10000KB");
		pro.put("log4j.appender.R.MaxBackupIndex", "20");
		pro.put("log4j.appender.R.Threshold", "INFO");
		pro.put("log4j.appender.R.layout", "org.apache.log4j.PatternLayout");
		pro.put("log4j.appender.R.layout.ConversionPattern", "%n[%d{HH:mm:ss}] [%p] %m");

		pro.put("log4j.appender.A", "org.apache.log4j.RollingFileAppender");
		pro.put("log4j.appender.A.File", MachineBuilder.getCurMachine().getFolder().getLogPath() + "XXX_debug.log");
		pro.put("log4j.appender.A.MaxFileSize", "10000KB");
		pro.put("log4j.appender.A.MaxBackupIndex", "20");
		pro.put("log4j.appender.A.Threshold", "DEBUG");
		pro.put("log4j.appender.A.layout", "org.apache.log4j.PatternLayout");
		pro.put("log4j.appender.A.layout.ConversionPattern", "%n[%d{HH:mm:ss}] [%p] %m");

		PropertyConfigurator.configure(pro);
	}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值