【转】通过程序来配置log4j,替代log4j.properties

原文:http://www.diybl.com/course/3_program/java/javashl/2008123/97002.html

在项目应用中用log4j是件很平常的事情,只要在程序跑的时候初始log4j就ok了,这里关键是让log4j找到log4j.properties 或log4j.xml 文件。如果有这样的需求,希望log4j的输出文件可以让用户指定,那怎么办呢?很明显我们应该想到的是通过读取配置文件,配置文件是用户可以更改的。当然如果直接暴露log4j.properties(log4j.xml)给用户,也是可以的,但这不是最理想的,而且也不能让用户看到那么他不需要的资讯。由此我们想到的是让用户设置简单的配置文件,然后通过程序读取该配置文件来完成设置log4j。

例子:

  1. import java.util.Properties;

  2. import org.apache.log4j.Logger;
  3. import org.apache.log4j.PropertyConfigurator;

  4. public class MyApp {
  5.     static Logger logger = Logger.getLogger(MyApp.class.getName());

  6.     public static void main(String[] args) {
  7.         Properties properties = new Properties();
  8.         properties.setProperty("log4j.rootCategory", "debug, R");
  9.         properties.setProperty("log4j.appender.R",
  10.                 "org.apache.log4j.RollingFileAppender");
  11.         properties.setProperty("log4j.appender.R.File", "c:/mo.log");//

  12.         properties.setProperty("log4j.appender.R.MaxFileSize", "1024");// 去掉K,只忍数字

  13.         properties.setProperty("log4j.appender.R.MaxBackupIndex", "2");
  14.         properties.setProperty("log4j.appender.R.layout",
  15.                 "org.apache.log4j.PatternLayout");
  16.         properties.setProperty("log4j.appender.R.layout.ConversionPattern",
  17.                 "%p %t %c - %m%n");
  18.         PropertyConfigurator.configure(properties);
  19.         logger.debug("Entering application.");
  20.         logger.info("Exiting application.");
  21.     }
  22. }

转载于:https://www.cnblogs.com/black/p/5171876.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值