簡體   English   中英

找出Spring Logging

[英]Figuring out Spring Logging

我繼承了一個混亂的Spring MVC應用程序。 有些事情不起作用,我想啟用DEBUG甚至TRACE日志記錄以獲取更多信息,發現即使那樣也不是那么簡單。

啟動應用程序時(通過從Eclipse運行Tomcat 8服務器),似乎輸出兩種日志消息。 這是第一種示例:

Jun 20, 2017 1:47:07 PM org.hibernate.Version logVersion INFO:
HHH000412: Hibernate Core {4.3.8.Final} Jun 20, 2017 1:47:07 PM
org.hibernate.cfg.Environment <clinit> INFO: HHH000206:
hibernate.properties not found Jun 20, 2017 1:47:07 PM
org.hibernate.cfg.Environment buildBytecodeProvider INFO: HHH000021:
Bytecode provider name : javassist

這些消息均為紅色。 第二種看起來像這樣:

13:47:16.949 [localhost-startStop-1] INFO  org.springframework.web.servlet.DispatcherServlet:489 - FrameworkServlet 'spring': initialization started
13:47:16.952 [localhost-startStop-1] INFO  org.springframework.web.context.support.XmlWebApplicationContext:583 - Refreshing WebApplicationContext for namespace 'spring-servlet': startup date [Tue Jun 20 13:47:16 IDT 2017]; parent: Root WebApplicationContext
13:47:16.952 [localhost-startStop-1] INFO  org.springframework.beans.factory.xml.XmlBeanDefinitionReader:317 - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring-servlet.xml]

這些都是黑色的。

顯然,至少有兩種活動的日志記錄格式。 這是它變得奇怪:

我發現了許多log4j2.xml以及log4j.properties文件。 他們似乎都被忽略了。 更改它們沒有區別。 我只是將它們全部刪除,並且它沒有影響日志記錄的輸出。 此外,log4j 1.2,log4j 2.0.2和slf4j都是Maven依賴項。 pom.xml引用了1.2版,其他Maven依賴項可能需要其他版本。

我的問題是-我如何配置日志記錄? 將log4j.xml文件放在WEB-INF下(找到所有其他屬性文件)沒有任何區別。 也沒有在其中放置log4j.properties文件。 我需要以某種方式打開log4j本身的調試打印輸出,因此我可以弄清楚它是從哪里讀取其配置的。

我嘗試將-Dlog4j.debug作為VM參數添加到Tomcat運行配置。 除了打印-Dlog4j.debug command line argument或類似內容外,沒有任何變化。

您可以使用我在項目中使用過的以下代碼段。 此處的類名是FolderReader.class,並將lo4j.properties文件放置在文件夾“ conf”中。在運行應用程序時將參數“ ../conf/log4j.properties”作為args [2]參數傳遞。

final FileSystemXmlApplicationContext applicationContext = new FileSystemXmlApplicationContext(args[0]);
    Logger logger=Logger.getLogger(FolderReader.class);
    PropertyConfigurator.configure(args[2]);
    logger.info("Intializing beans..");
    ServiceContext serviceContext = (ServiceContext) BeanFactoryLocator.getBean("serviceContext");

PropertyConfigurator.configure(args [2]);從位置加載log4j.properties文件。 從該屬性文件進行配置,並相應地進行格式化。

暫無
暫無

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

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