2017-02-23 22 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です:

### 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コードIを/home/site/wwwroot/logs/swinguserver.logスプリング+ 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を

enter image description here

どれ提案:.logに、テスト・ログについては何もありませんか?君たちありがとう。

答えて

0

間違ったLoggerパッケージをインポートしたことがわかりました...投稿したコードに問題はありません。

0

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

log4j.appender.FILE.File = D:

上記試し/home/site/wwwroot/logs/swinguserver.log 2行は、あなたのプログラムの中で二行の下のinsted

log4j.appender.LOGFILE = org.apache.log4j.DailyRollingFileAppender log4j.appender.LOGFILE.File = D:/ホーム/サイト/ wwwrootに/ログ/ swinguserver。ログ

+0

こんにちはvikky、なぜあなたはDailyRollingFileAppenderではなくFileAppenderを使用するのか説明してください。ありがとうございました。 – Rangtian

関連する問題