簡體   English   中英

log4j無法寫入文件

[英]log4j fails to write into file

我正在使用Spring + Log4j。 我可以在Eclipse控制台中看到日志,但是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'

我用於測試Spring + Log4j的Java代碼,日志級別為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;

    }

}

當我在瀏覽器中訪問測試URL時,可以在Eclipse控制台中看到所需的日志:

在此處輸入圖片說明

在此處輸入圖片說明

但是,當我檢查D:/home/site/wwwroot/logs/swinguserver.log時,測試日志一無所有:

在此處輸入圖片說明

有什么建議嗎? 感謝大伙們。

原來我導入了錯誤的Logger程序包...發布的代碼沒有錯。

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

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

嘗試在程序的下面兩行中插入上面的兩行

log4j.appender.LOGFILE = org.apache.log4j.DailyRollingFileAppender log4j.appender.LOGFILE.File = D:/home/site/wwwroot/logs/swinguserver.log

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM