无法生成日志,但日志文件是否使用空源创建?

时间:2014-09-16 08:05:26

标签: java jsp logging log4j properties-file

我正在使用index.jsp,我正在编写代码来生成日志文件,每件事情都运行正常,但即使异常到来,日志消息也没有生成。这是我的代码。

<body>
    <%
        Logger logger = Logger.getLogger("index");
        String prefix = getServletContext().getRealPath("/");
        String file = getServletConfig().getInitParameter("log4j-init-file");
        System.setProperty("appRootPath", prefix);
        //out.println(file);
        // if the log4j-init-file context parameter is not set, then no point in trying
        if (file != null) {
            PropertyConfigurator.configure(prefix + file);
            out.println("Log4J Logging started: " + prefix + file);
            int i = 10, j = 0;
            try {
                int k = i / j;
                out.println(k);
            } catch (Exception ex) {
                logger.error("Exception", ex);
            }               
            // logger.error("This is a warning message" + file);
        } else {
            out.println("Log4J Is not configured for your Application: " + prefix + file);
        }
    %>
</body> 

这是我的web.xml文件

<servlet>
    <servlet-name>index</servlet-name>
    <jsp-file>/index.jsp</jsp-file>
    <init-param>
        <param-name>log4j-init-file</param-name>
        <param-value>WEB-INF/log4j.properties</param-value>         
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>  
<servlet-mapping>
    <servlet-name>index</servlet-name>
    <url-pattern>/index.jsp</url-pattern>
</servlet-mapping>

这是我的属性文件

log4j.logger.Logging=DEBUG, C, fileappender 
log4j.additivity.Logging=true
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=[%c] [%d{dd MMM yyyy - hh:mm:ss}] %5p - %m %n
log4j.appender.fileappender=org.apache.log4j.RollingFileAppender
log4j.appender.fileappender.file=${appRootPath}WEB-INF/logs/Logging.log
log4j.appender.fileappender.MaxFileSize=500KB
log4j.appender.fileappender.MaxBackupIndex=3
log4j.appender.fileappender.layout=org.apache.log4j.PatternLayout
log4j.appender.fileappender.layout.ConversionPattern=%p %t %c - %m%n    

这里我给出了正在生成的MyApp.log,但是当异常到来时,日志消息必须生成,它没有生成任何日志消息,这个代码中有什么错误。请有人指导我。

1 个答案:

答案 0 :(得分:0)

Log4j页面说明你应该将log4j-web模块添加到你的部署中 - https://logging.apache.org/log4j/2.x/manual/webapp.html 此页面还包含您可能需要的其他一些有用信息。