作者简介:☕️大家好,我是Aomsir,一个爱折腾的开发者!
个人主页:Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客
当前专栏:Spring5应用专栏_Aomsir的博客-CSDN博客
参考文献
引言
在前几章中,我们主要采用了System.out
来展示输出信息。然而,这种方法只能显示我们手动添加到程序中的打印信息,并不能捕捉到Spring框架在运行时的关键信息
。为了获得更全面的视角并深入了解Spring的运行细节,整合日志框架变得至关重要
- 好处
- 它使我们能够清晰地跟踪Spring框架的运行流程,从而深入了解其内部工作机制
- 有了完整的日志记录,调试程序和定位问题变得更为直观和高效
如何整合?
Spring的早期版本,如1、2、3都与commons-logging
日志系统相结合,而Spring5.x版本默认整合了log4j2
和logback
。在这份笔记中,我们选择整合log4j
,涉及到引入log4j的依赖并编写相应的log4j.properties
配置文件如下所示
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
log4j.rootLogger = debug,console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
效果
在下面的日志输出中,我们可以明确地看到程序的运行过程。首先,系统显示了日志的打印时间和级别,为我们提供了关于日志消息重要性的线索。如日志所示,程序开始加载基于类路径的XML应用上下文。接下来,从applicationContext.xml
文件中,系统成功地加载了两个bean。最终,两个名为user和user2的bean实例被成功创建。这为我们提供了程序初始化过程的清晰视图,并确保了所有组件都按预期运行