java 為什么注釋掉的代碼還在報(bào)錯(cuò),?怎么解決?
你應(yīng)該是用Eclipse或者是MyEclipse編譯eredl的吧eredl,,Eclipse或者M(jìn)yEclipse這種Bug很常見eredl,,你試試將工程關(guān)閉eredl,然后再重新打開編譯運(yùn)行一下就應(yīng)該沒(méi)事eredl了??!
如何在log4j.properties文件中使用相對(duì)路徑
如何在log4j.properties文件中使用相對(duì)路徑?缺省情況下我們只能在log4j.properties中配置絕對(duì)路徑,。這樣以來(lái),,我們?cè)谙到y(tǒng)部署、開放環(huán)境移植等環(huán)節(jié)就會(huì)帶來(lái)很大的不便,,需要將路徑改來(lái)改去,。我們可以使用下面的辦法來(lái)實(shí)現(xiàn)在log4j.properties中使用相對(duì)路徑:
1、實(shí)現(xiàn)一個(gè)Servlet
/**
* Log4J初始化
* @author XiongChun
* @since 2011-04-26
*/
public class Log4jInitServlet extends HttpServlet {
/**
* Servlet初始化
*/
public void init(ServletConfig config) throws ServletException {
String root = config.getServletContext().getRealPath("/");
String log4jLocation = config.getInitParameter("log4jLocation");
System.setProperty("webRoot", root);
if (G4Utils.isNotEmpty(log4jLocation)) {
PropertyConfigurator.configure(root + log4jLocation);
}
}
}
2,、web.xml加載這個(gè)servlet
!-- 配置Log4j --
servlet
servlet-namelog4jInit/servlet-name
servlet-classorg.eredlab.g4.rif.util.Log4jInitServlet/servlet-class
init-param
param-namelog4jLocation/param-name
param-valueWEB-INF/classes/log4j.properties/param-value
/init-param
load-on-startup0/load-on-startup
/servlet
3,、此時(shí)在log4j.properties中就可以使用相對(duì)路徑了,如下:
#Rlogfile
log4j.appender.Rlogfile=org.apache.log4j.RollingFileAppender
log4j.appender.Rlogfile.layout=org.apache.log4j.PatternLayout
log4j.appender.Rlogfile.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.Rlogfile.File=${webRoot}/logs/eRedG4.log
log4j.appender.Rlogfile.MaxFileSize=2048KB
log4j.appender.Rlogfile.MaxBackupIndex=10
批注:寫完才發(fā)現(xiàn),,其實(shí)這種方式用的也是絕對(duì)路徑,,只不過(guò)是用動(dòng)態(tài)獲取絕對(duì)路徑的方法來(lái)達(dá)到類似相對(duì)路徑的效果了。