2012-07-09 70 views
0

我已經開發了一個在tomcat上完美執行的spring mvc應用程序,但是我得到的服務器tomcat的日誌位於控制檯上,我希望將日誌存儲在文件中換句話說我想這顯示在控制檯的tomcat日誌和事件將得到存儲在一個文件,我已經試過的Apache日誌4J及以下的屬性文件我用的...tomcat日誌要存儲在一個單獨的文件

### direct messages to file or.log ### 
log4j.appender.file=org.apache.log4j.FileAppender 
log4j.appender.file.File=C:/logs/springmvc.log 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1} - %m%n 
log4j.appender.file.append=true 

### set log levels - for more verbose logging change 'info' to 'debug' ## 
log4j.rootCategory=ALL, file 
log4j.logger.Demo=\=debug 
log4j.logger.org.eclipse=debug 

和主要類..我想log.info語句被記錄..

public class HelloWorldController extends AbstractController{ 
    protected final Log logger = LogFactory.getLog(getClass()); 
    @Override 
    protected ModelAndView handleRequestInternal(HttpServletRequest request, 
     HttpServletResponse response) throws Exception { 
     logger.info("Returning hello view"); 
     ModelAndView model = new ModelAndView("HelloWorldPage"); 
     model.addObject("msg", "saral saxreva"); 

     return model; 
    } 
} 

,但仍然不是在單獨的文件中生成日誌,請告知,因爲我堅持這一點。

+0

您是否初始化記錄器以使用該文件appender? – 2012-07-09 14:31:18

+0

@JigarJoshi請告訴我需要做什麼,這將是一個很大的幫助,如果你可以在這裏發佈更改 – user1508454 2012-07-09 17:29:18

回答

0

當你的程序啓動時,springmvc.log文件是否被創建?這是log4j是否正確拾取的第一個指示。

  • 確保log4j屬性文件是在正確的位置,並拿起正確
  • 仔細檢查你的記錄儀和的LogFactory類(只是爲了確保他們使用log4j的那些import語句

如果log4j的設置正確,你會看到創建springmvc.log文件的應用啓動時

然後在log4j屬性,嘗試:

log4j.rootLogger=DEBUG,file 

,也擺脫了其他2,你有

log4j.logger.Demo=\=debug 
log4j.logger.org.eclipse=debug 
+0

@ tsOverflow..tried人..但仍然沒有工作.. !! – user1508454 2012-07-09 17:10:29

+0

您是否看到springmvc.log文件被創建? – 2012-07-09 17:29:13

+0

@ tsOverflow ..沒有人,並擔心的原因,請指教,你可以在這裏發佈修改 – user1508454 2012-07-09 17:35:21

0

我認爲在你需要一些監聽器(或servlet),將其初始化web應用程序啓用日誌記錄。例如在Spring中,你需要在你的web.xml中定義這樣的監聽器:

<!-- This listener is necessary to enable log4j logging --> 
    <listener> 
     <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
    </listener> 

在互聯網上有很多關於這方面的信息。這裏是來自谷歌的冷杉link。這裏是另一個link,其中介紹瞭如何在沒有Spring的情況下在servlet或listener中初始化記錄器。

並且也最好使用log4j.rootLogger而不是log4j.rootCategory因爲去年已被棄用。