2015-10-13 191 views
1

當我從Eclipse內啓動Tomcat時,我得到一個帶有日誌信息的控制檯,這些信息非常適合我的習慣,它們總是以Tomcat在n內啓動的語句結束毫秒。Eclipse控制檯不顯示Tomcat異常/堆棧跟蹤

但是,無論何時發生異常,此異常的堆棧跟蹤都不會顯示在控制檯中。我習慣於能夠從IDE中看到它們「發生」。

將logging.properties中的級別設置爲不同的值(FINEST或ERROR)會引起預期的更改,但不會出現任何異常的日誌條目。

Tomcat是否以不同的方式登錄異常?

HTTP 500消息提到了Tomcat日誌。所以應該有一個地方可以發送更多的信息。

相應的日誌目錄只包含簡單的訪問日誌以及我在Eclipse中的控制檯上看到的內容。

哪個配置負責輸出到控制檯?

我logging.properties看起來是這樣的:

handlers = java.util.logging.ConsoleHandler 
java.util.logging.ConsoleHandler.level = FINE 
org.apache.catalina.level=FINE 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO  
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO 
+2

應設置'org.apache.catalina.level'是說'INFO'到'ERROR'看看會發生什麼。從我所知道的與日誌記錄相關的知識來看,這隻會記錄信息級別而不是錯誤級別。 – jgr208

+0

嘗試添加滾動文件appender或類似文件並查找生成的文件 – Joshua

回答

1

至極日誌實現您使用?在logging.propertie中,您正在配置apache日誌。用戶純java日誌,試圖以編程配置,這樣的:

 static Logger logger = Logger.getLogger(YourClass.class.getName()); 

     System.setProperty("java.util.logging.SimpleFormatter.format", "%4$s: [%1$tc] %5$s %n"); 
     //Creating consoleHandler and fileHandler 
     consoleHandler = new ConsoleHandler(); 
     LOGGER.addHandler(consoleHandler); 

     //Setting levels to handlers and LOGGER 
     consoleHandler.setLevel(Level.ALL); 
     consoleHandler.setFormatter(new SimpleFormatter()); 

     .. When you want to log, do this: 

     LOGGER.log(Level.FINE, "HELLO LOG"); 
+0

這是錯誤的級別。我想獲取由Tomcat本身生成的輸出,而不是以編程方式記錄來自我的應用程序的事件。 –