2017-02-23 219 views
0

我使用Spring + Log4j。我可以在Eclipse控制台中看到我的日志,但Log4j无法写入目标文件。log4j无法写入文件

我的web.xml:

<context-param> 
    <param-name>log4jConfigLocation</param-name> 
    <param-value>/WEB-INF/classes/log4j.properties</param-value> 
</context-param> 

<context-param> 
    <param-name>log4jRefreshInterval</param-name> 
    <param-value>60000</param-value> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
</listener> 

我log4j.properties:目标文件为d:/home/site/wwwroot/logs/swinguserver.log

### set log levels ### 
log4j.rootLogger = DEBUG, CONSOLE, LOGFILE 

### Settings for Console ### 
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.Threshold = INFO 
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n 

### Settings for File ### 
log4j.appender.LOGFILE = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.LOGFILE.File = D:\/home\/site\/wwwroot\/logs\/swinguserver.log 
log4j.appender.LOGFILE.Append = true 
log4j.appender.LOGFILE.Threshold = DEBUG 
log4j.appender.LOGFILE.layout = org.apache.log4j.PatternLayout 
log4j.appender.LOGFILE.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n 
log4j.appender.LOGFILE.DatePattern = '_'yyyyMMdd'.log' 

Java代码我用它来测试弹簧+的Log4j,日志级别是INFO和日志内容是:JSONController.getShopInJSON(),名称= XXXXXX

@Controller 
@RequestMapping("/test") 
public class JSONController { 
    private static final Logger logger = Logger 
      .getLogger(JSONController.class); 

    @RequestMapping(value="{name}", method = RequestMethod.GET) 
    public @ResponseBody Shop getShopInJSON(@PathVariable String name) { 

     logger.info("JSONController.getShopInJSON(), name = " + name); 

     Shop shop = new Shop(); 
     shop.setName(name); 
     shop.setStaffName(new String[]{"mkyong1", "mkyong2"}); 

     return shop; 

    } 

} 

W¯¯母鸡我访问的浏览器测试URL,我可以看到在Eclipse控制台所需的日志:

enter image description here

enter image description here

然而,当我检查d:/首页/网站/ wwwroot文件/日志/ swinguserver .LOG,没有什么关于测试日志:

enter image description here

什么建议吗?感谢你们。

回答

0

事实证明,我导入了错误的Logger软件包......没有任何错误,我发布的代码。

0

log4j.appender.FILE = org.apache.log4j.FileAppender

log4j.appender.FILE.File = d:/home/site/wwwroot/logs/swinguserver.log

尝试以上两行insted的下面两行程序

log4j.appender.LOGFILE = org.apache.log4j.DailyRollingFileAppender log4j.appender.LOGFILE.File = d:/首页/网站/ wwwroot文件/日志/ swinguserver。日志

+0

嗨vikky,请你进一步解释为什么使用FileAppender而不是DailyRollingFileAppender?谢谢。 – Rangtian