zoukankan      html  css  js  c++  java
  • log4j动态配置参数

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/

    1、问题描述

    一般log4j的使用都是在log4j.properties文件中指定配置参数,然后框架自动初始化,但是有些特殊的情况需要写程序手动初始化,并为它传递参数,如日志文件的存放位置要配置成可变,文件大小也要可变等等。如果用配置文件来指定,系统初始化log4j后就不能再改变了。
    log4j提供了动态参数配置的功能,程序只需要在使用log记录器写日子之前重新使配置生效即可,具体为:
    1. 用Properties保存配置参数。
    2. 用PropertyConfigurator来是配置生效。

    2、配置参数

    Properties pro=new Properties();
    pro.put("log4j.rootLogger", "info,A");
    pro.put("log4j.appender.A", "org.apache.log4j.DailyRollingFileAppender");
    pro.put("log4j.appender.A.File", "D:/logs/sys.log");
    pro.put("log4j.appender.A.DatePattern", "'.'yyyy-MM-dd-HH");
    pro.put("log4j.appender.A.layout", "org.apache.log4j.PatternLayout");
    pro.put("log4j.appender.A.layout.ConversionPattern", "%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m -(:%L)%n");
    

    3、使配置生效

    PropertyConfigurator.configure(pro);


    也可以预先指定多个配置文件,然后在configure(path)的path指定配置文件
    初始配置可以在静态块中执行这段代码,
    当需改变配置是,执行这段代码使更改生效。

    4、参考网站

    http://blog.csdn.net/wangjie5540/article/details/41897301

  • 相关阅读:
    js将时间戳转化为时间,(不省略0)
    SpringMVC路径传参
    贪心算法及实例
    剪绳子(贪心算法)
    c语言输入一行未知个数数字存入数组
    Netlink机制详解
    new和malloc的区别
    堆 和 栈的 区别
    strlen与sizeof区别(转载)
    任务
  • 原文地址:https://www.cnblogs.com/mao2080/p/7270133.html
Copyright © 2011-2022 走看看