在属性文件中动态加载属性值
问题描述:
我在我的spring + struts + hibernate应用程序中使用log4j。它工作正常,但唯一的问题是日志文件存储在特定路径中。是否有任何方法可以更改路径的动态日志文件。我想要在服务器路径上生成日志文件。在属性文件中动态加载属性值
这是属性文件正在使用log4j的
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
**log4j.appender.file.File=C:\\loging.log**
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Root logger option
log4j.rootLogger=debug, file, stdout
我想动态加载在这里把服务器的路径* log4j.appender.file.File =服务器路径 *。
有什么想法?
答
必须更改第l og4j.properties file
,如:log4j.appender.appender_name.File = ${file.name}
并在通话时PropertyConfigurator.configure
,只是做System.setProperty("file.name","your path")
How to configure log4j with a properties file
基本上代码您需要编写一个自定义记录器类,在其中调用上述方法。您可以参考上述链接。
你能告诉我在哪里可以在我的应用程序中设置PropertyConfigurator.configure – elvisanandkumar 2012-07-09 07:17:15
@elvisanandkumar,我已经更新了我的答案。 – UVM 2012-07-09 07:26:06