log4j_properties配置生成log文件路径问题

发布时间:2016-12-7 3:54:20 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"log4j_properties配置生成log文件路径问题",主要涉及到log4j_properties配置生成log文件路径问题方面的内容,对于log4j_properties配置生成log文件路径问题感兴趣的同学可以参考一下。

log4j.appender.file.File=hibernate.log  那么hibernate.log这个文件会很“聪明地”创建到Tomcat的启动目录上,如果我希望它在\WEB-INF\下面安家,就要这样写:  log4j.appender.file.File=c:\tomcat41\webapps\mysite\WEB-INF\hibernate.log  但是如果我要把它打包发布到虚拟主机上,那里的linux系统要求我把这行写成:  log4j.appender.file.File=/user/mysite.com/WEB-INF/hibernate.log  有没有个好办法让这个日志文件不要到处乱跑,就固定在WEB-INF这个相对路径下?  方法一:  可以在web.xml中写  <servlet>  <servlet-name>log4j-init</servlet-name>  <servlet-class>com.kevin.myapp.common.servlet.Log4JInit</servlet-class>  <init-param>  <param-name>log4j-init-file</param-name>  <param-value>/WEB-INF/config/log4j.properties</param-value>  </init-param>  <load-on-startup>2</load-on-startup>  </servlet>  ---------------------------------------  import java.io.FileInputStream;  import java.io.IOException;  import java.util.Properties;  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import org.apache.log4j.PropertyConfigurator;  public class Log4JInit extends HttpServlet{  public void init(){  String prifix = getServletContext().getRealPath("/");  String file = getInitParameter("log4j-init-file");  if(file != null){  Properties prop = new Properties();  try{  prop.load(new FileInputStream(prifix+file));  prop.setProperty("log4j.appender.R.File",  prifix + prop.getProperty("log4j.appender.R.File"));  PropertyConfigurator.configure(prop);  }catch(IOException e){  e.printStackTrace();  }  }  }  public void doGet(HttpServletRequest request,HttpServletResponse response){  }  }  方法二:  它放到tomcat的logs目录下就可以了  log4j.appender.R.File=../logs/log4j.log  方法三:  可以在system的变量里面增加 webroot等变量  然后再log4j.properties里面  log4j.appender.R.File=${webroot}/logs/log4j.log

上一篇:CentOS查看系统信息的命令
下一篇:使用WPF教你一步一步实现连连看(二)

相关文章

相关评论