wild84
2017-05-17 13:41
采纳率: 99.5%
浏览 1.6k
已采纳

log4j在servlet中的使用问题

我的log4j配置文件如下

 log4j.rootLogger = debug,stdout,D,E 
### \u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u62AC ### 
log4j.appender.stdout = org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target = System.out 
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH\:mm\:ss,SSS} method\:%l%n%m%n 
### \u8F93\u51FADEBUG \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ### 
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.D.File = D:\j2eeProject\logs\log.log 
log4j.appender.D.Encoding=UTF-8
log4j.appender.D.Append = true 
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout 
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [ %t\:%r ] - [ %p ] %m%n 
### \u8F93\u51FAERROR \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ### 
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.E.File =D:\j2eeProject\logs\error.log 
log4j.appender.E.Encoding=UTF-8
log4j.appender.E.Append = true 
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout 
log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [ %t\:%r ] - [ %p ] %m%n

我的servlet代码如下

 @Override
    public void init(ServletConfig config) throws ServletException {
        String path=config.getServletContext().getRealPath("WEB-INF\\classes");
        path=path+File.separator+config.getInitParameter("log4j");
        PropertyConfigurator.configure(path);
    }

在web.xml配置初始化参数后,使用起来没有异常.但是日志消息只向控制台输出信息,而不是我设定的d:盘下的log文件?请问是哪里出错?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • wild84 2017-05-17 13:50
    已采纳

    已解决,是文件夹分隔符出错

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题