2012-07-09 108 views
0

我在我的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 =服務器路徑 *。

有什麼想法?

回答

1

必須更改第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

基本上代碼您需要編寫一個自定義記錄器類,在其中調用上述方法。您可以參考上述鏈接。

+0

你能告訴我在哪裏可以在我的應用程序中設置PropertyConfigurator.configure – elvisanandkumar 2012-07-09 07:17:15

+0

@elvisanandkumar,我已經更新了我的答案。 – UVM 2012-07-09 07:26:06