如题:
log4j.xml的内容如下<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %x %-5p %m%n"/>
</layout>
</appender><appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="batchprint_debug.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %p [%c] - %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="DEBUG" />
</filter>
</appender><appender name="INFO" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="batchprint_info.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %x %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender> <appender name="WARN" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="batchprint_warn.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %x %-5p %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="WARN" />
<param name="LevelMax" value="WARN" />
</filter>
</appender> <appender name="ERROR" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="batchprint_error.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %p [%c] - %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<root>
<priority value="debug"/>
<appender-ref ref="STDOUT"/>
<appender-ref ref="DEBUG"/>
<appender-ref ref="INFO"/>
<appender-ref ref="WARN"/>
<appender-ref ref="ERROR"/>
</root></log4j:configuration>
在调试模式下是可以写log的
请问谁有想法可以跟我分享一下,谢谢
我本来想 <param name="File" value="batchprint_warn.log"/>
在上面的代码中指定路径的
但是老大说希望是由程序自己获取
log4j.xml的内容如下<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %x %-5p %m%n"/>
</layout>
</appender><appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="batchprint_debug.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %p [%c] - %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="DEBUG" />
</filter>
</appender><appender name="INFO" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="batchprint_info.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %x %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender> <appender name="WARN" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="batchprint_warn.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %x %-5p %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="WARN" />
<param name="LevelMax" value="WARN" />
</filter>
</appender> <appender name="ERROR" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="batchprint_error.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %p [%c] - %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<root>
<priority value="debug"/>
<appender-ref ref="STDOUT"/>
<appender-ref ref="DEBUG"/>
<appender-ref ref="INFO"/>
<appender-ref ref="WARN"/>
<appender-ref ref="ERROR"/>
</root></log4j:configuration>
在调试模式下是可以写log的
请问谁有想法可以跟我分享一下,谢谢
我本来想 <param name="File" value="batchprint_warn.log"/>
在上面的代码中指定路径的
但是老大说希望是由程序自己获取
我想知道能不能对这个log4j.xml进行写操作
<param name="File" value="batchprint_info.log"/>
比如以上的value是可以根据自己需要去改动并且把它保存回去呢
请问谁做过这个,可以出来讨论 一下,谢谢
用的log4j.properties文件你们老大说的由程序获取什么意思??难道在程序的另一个地方指定路径然后获取过来?
logger.addAppender(
new DailyRollingFileAppender(layout,logFile,"yyyy-mm-dd"));
logger.error("file created!");
// logger.}
} catch(IOException e) {
System.err.println("setFile(null, false) call failed.");
e.printStackTrace();
}楼主是不是这个意思?log4j.xml应该是你在加载的时候一次性载入的,如果你更改了log4j.xml的话(无论是通过程序or手工),估计要重启应用才有效DailyRollingFileAppender这东东可以指定文件路径的
幻天
等 级:
发表于:2007-12-13 18:26:304楼 得分:0
try {
logger.addAppender(
new DailyRollingFileAppender(layout,logFile,"yyyy-mm-dd"));
logger.error("file created!");
// logger.}
} catch(IOException e) {
System.err.println("setFile(null, false) call failed.");
e.printStackTrace();
} 楼主是不是这个意思? log4j.xml应该是你在加载的时候一次性载入的,如果你更改了log4j.xml的话(无论是通过程序or手工),估计要重启应用才有效 DailyRollingFileAppender这东东可以指定文件路径的
请问我能不能实现这样的效果:
第一,把log.xml初始化
第二,在程序中能够对log.xml的某些value进行修改