========
整合日志
========
将Spring与日志框架整合,通过控制台输出Spring运行过程中的重要信息,便于调试和纠错:
- Spring1/2/3
- commons-logging
- Spring4/5
- 默认logback/log4j2
- log4j
1 添加依赖
/pom.xml:
...
\
org.slf4j | 日志门面
slf4j-log4j12 | 屏蔽默认的
1.7.25 | logback/log4j2
/
\
log4j |
log4j | log4j
1.2.17 |
/
...
2 添加配置
/src/main/resources/log4j.properties:
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 %l - %m%n
| | | | | | | | | |
年 月 日 时 分 秒 级别 位置 消息 换行
3 打印日志
/src/test/java/cn/tedu/log/StudentTest.java:
class StudentTest {
private Logger logger = Logger.getLogger(StudentTest.class);
@org.junit.jupiter.api.Test
void test() {
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("/applicationContext.xml");
Student student = applicationContext.getBean("student", Student.class);
logger.debug(student);
}
}
2022-04-20 15:01:43 DEBUG org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:590) - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7ff95560
2022-04-20 15:01:43 DEBUG org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:395) - Loaded 1 bean definitions from class path resource [applicationContext.xml]
2022-04-20 15:01:43 DEBUG org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:213) - Creating shared instance of singleton bean 'student'
2022-04-20 15:01:43 DEBUG cn.tedu.log.StudentTest.test(StudentTest.java:15) - cn.tedu.log.Student@7770f470
例程:Log