我用log4j进行日志记录,采用.property的配置,在servlet中进行启动进行加载.
测试环境下没有任何问题,所有日志正常输出,但是在生产环境就是不出日志。
生产环境和测试环境都是linux + weblogic的组合,版本也应该是一样的。现在生产环境可以创建日志文件,因此应该是有权限的。但是却不能正常输出。
是什么问题,大家有遇到吗??
web.xml中servlet启动的配置如下:
<servlet>
<servlet-name>log4jconfig</servlet-name>
<servlet-class>com.cutoff.servlet.Log4jConfig</servlet-class>
<init-param>
<param-name>log4jconfigFile</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>servlet中的代码如下:
public void init() throws ServletException {
String path = this.getServletContext().getRealPath("/");
String configFilename = path + this.getInitParameter("log4jconfigFile");
System.out.println("Log4J启动成功, 配置文件路径: " +configFilename);
PropertyConfigurator.configure(configFilename);
}

解决方案 »

  1.   

    你这是加载log4j
    而log4j日志的输出路径应该在log4j.properties中设置的。
    http://blog.csdn.net/nihaozhangchao/archive/2010/01/12/5179853.aspx
      

  2.   

    log4j.appender.R.File=${catalina.home}/logfile.log
      

  3.   

    log4j的配置文件补一下:
    log4j.rootLogger=INFO, stdout, logfile
    log4j.mylog=INFO, stdout, logfile
    log4j.business=INFO, stdout, logfilelog4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%nlog4j.appender.logfile=org.apache.log4j.RollingFileAppender
    log4j.appender.logfile.File=/opt/bea/webapps/log/logfile.log
    log4j.appender.logfile.MaxFileSize=4096KB# Keep 10 backup files.
    log4j.appender.logfile.MaxBackupIndex=10
    # 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
      

  4.   

    log4j.rootLogger=INFO, stdout, logfile 改为:log4j.rootLogger=INFO, logfile  尝试下另外,打印不出来东西,你debug一下呗
      

  5.   

    我是来学习的,我发过帖子,但都没回答清楚!借贵宝地问一下,${catalina.home}这个变量是在哪里配置的?谢谢!
      

  6.   

    现在发现刚启动的时候,还是有一些日志被写进去的,只是系统生成的日志。
    也就是说现在
    1. log4j已经成功启动
    2. log4j有权限写入文件但是程序调用logger生成的日志没有!
      

  7.   

    /WEB-INF/classes/log4j.properties 里的日志路径检查下,这是我的:
    log4j.appender.rolling.File=../Logs/Est_Rap.log (相对路径)