㈠ 請問,在eclipse spring如何添加配置文件
log4j.properties,放在項目的scr目錄下
log4j.properties是要自己寫的(新建一個log4j.properties文件),網上有很多參考模板.
配置迴文件是xml格式的,在程序里答面調用就可以了(注意路徑)
㈡ log4j的使用步驟
1.將log4j-1.2.14.jar加入你的項目中;
2.在src/下創建log4j.properties|log4j.xml文件;
3.在web.xml中配置log4j的信息,如下:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
4.在項目webroot下創建你想要保存日誌文件的文件夾及文件,如webroot/logs/web_app.log;
具體log4j.properties文件,給你一個示例吧,如下:
log4j.rootLogger=INFO, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.stdout.layout.ConversionPattern=- %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${webapp.root}/logs/webapp.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.logger.com.opensymphony.xwork2=ERROR
# Control logging for other open source packages
log4j.logger.org.springframework=ERROR
log4j.logger.org.quartz=ERROR
log4j.logger.net.sf.ehcache=ERROR
log4j.logger.net.sf.navigator=ERROR
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts=ERROR
# Struts OgnlUtil issues unimportant warnings
log4j.logger.com.opensymphony.xwork2.util.OgnlUtil=error
log4j.logger.com.opensymphony.xwork2.ognl.OgnlValueStack=error
具體寫法可根據自己的項目進行配置。
㈢ log4j.properties配置文件是在什麼地方調用讀取的呢
一般在項目中使用properties配置文件的時候都將相關的properties文件放在src目錄下,在將該app打包生成jar後,相應的properties配置文件生...
一般在項目中使用properties配置文件的時候都將相關的properties文件放在src目錄下,在將該app打包生成jar後,相應的properties配置文件生成在jar包中,這樣的話要修改配置文件又要重新打jar包,那是相當的麻煩。
既然這么麻煩,你肯定想將配置文件放在其他的目錄下,生成的jar包內不包含相應的配置文件,修改配置文件無需重新打包,沒錯,下面就是一種解決方案了。
讀取jar包內配置文件:
InputStream in = this.getClass().getClassLoader().getResourceAsStream("/configfilename.properties");
讀取jar包外配置文件:
String filePath = System.getProperty("user.dir") + "/conf/configfilename.properties";
InputStream in = new BufferedInputStream(new FileInputStream(filePath));
另外,如果app中使用到log4j.properties文件,默認的存放路徑是src/log4j.properties,同上面一樣,我想把log4j.properties放在其他目錄中,這樣一來,在修改log4j配置文件的時候無需重新打jar包。
在main函數第一行添加如下代碼:
PropertyConfigurator.configure(System.getProperty("user.dir") + "/conf/log4j.properties");