繁体   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