zoukankan      html  css  js  c++  java
  • log4j配置文件动态指定日志文件名称

    我们在项目当中经常会使用log4j进行日志记录,偶尔会遇到一些要求,比如日志文件名称按照启动参数动态配置,而不去修改log4j.xml,比较简单的一种做法是,通过设置系统属性的方式实现,代码:

    1         if(args.length>=0){
    2             System.setProperty("log4fFile", args[0]);
    3         }else{
    4             System.setProperty("log4fFile","log/runtime.log");
    5         }

    xml配置:

     1 <?xml version="1.0" encoding="UTF-8" ?>   
     2 <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">   
     3 <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">   
     4     <appender name="file_daily" class="org.apache.log4j.DailyRollingFileAppender">      
     5         <param name="File" value="${log4fFile}" />      
     6         <param name="DatePattern" value="'daily.'yyyy-MM-dd'.log'" />  
     7         <layout class="org.apache.log4j.PatternLayout">      
     8             <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss/} %-5p] [%t] (%c:%L) - %m%n" />      
     9         </layout>      
    10     </appender>    
    11  
    12     <appender name="console" class="org.apache.log4j.ConsoleAppender">   
    13         <layout class="org.apache.log4j.PatternLayout">   
    14             <param name="ConversionPattern"   
    15                 value="%d{yyyy-MM-dd HH:mm:ss} %-5p: %m%n" />   
    16         </layout>   
    17     </appender>   
    18    
    19      <root>       
    20         <priority value="INFO" />       
    21         <appender-ref ref="file_daily" />    
    22         <appender-ref ref="console" />    
    23     </root>  
    24    
    25 </log4j:configuration>  

    通过以上这种方式配置就可以达到目的。

  • 相关阅读:
    线性代数(不完全)与矩阵合集
    最短路合集
    [SP2878]KNIGHTS
    Noip 提高组系列题解目录
    【code】最小费用最大流(Dinic / zkw) 模板
    题解 DTOJ #1002.调整(tweak)
    题解 DTOJ #1008.生成输入数据 (input)
    题解 DTOJ #3861.基里巴斯(path)
    模板 · ISAP网络流+GAP优化+弧优化
    代码 · DTOJ.飞行员配对方案
  • 原文地址:https://www.cnblogs.com/jessezeng/p/5128329.html
Copyright © 2011-2022 走看看