Mybatis、maven项目中整合log4j (17)

Mybatis、maven项目总整合log4j 

java 中Mybatis、maven项目总整合log4j 

1、pom增加log4j包引用

 2、添加 log4j.properties文件

# java中在maven项目增加log4j日志支持
#log4j.rootLogger=CONSOLE,FILE
log4j.rootLogger=DEBUG,CONSOLE,FILE
#应用于控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=DEBUG
#log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Encoding=GBK
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[lsjSso]%d-%c-%-4r[%t]%-5p%c%x-%m%n
#每天新建日志
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=D:/logs/jackLog
log4j.appender.A1.Encoding=GBK
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L:%m%n
#应用于文件
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=D:/logs/jackLog/file.log
log4j.appender.FILE.Append=false
log4j.appender.FILE.Encoding=GBK
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[lsjSso]%d-%c-%-4r[%t]%-5p%c%x-%m%n

 3、pom增加日志支持

 4、执行(16)例子应用,在控制台打印日志通知在本地磁盘建立文件夹同时写入日志

4.1 控制台日志

"C:Program FilesJavajdk1.8.0_25injava" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:Users
ewsoftAppDataRoamingJetBrainsIntelliJ IDEA 2017.3.5libidea_rt.jar=1051:C:Users
ewsoftAppDataRoamingJetBrainsIntelliJ IDEA 2017.3.5in" -Dfile.encoding=UTF-8 -classpath "C:Users
ewsoftAppDataRoamingJetBrainsIntelliJ IDEA 2017.3.5libidea_rt.jar;C:Users
ewsoftAppDataRoamingJetBrainsIntelliJ IDEA 2017.3.5pluginsjunitlibjunit-rt.jar;C:Users
ewsoftAppDataRoamingJetBrainsIntelliJ IDEA 2017.3.5pluginsjunitlibjunit5-rt.jar;D:downloadlibmavenTollTransfermic-repositoryorgjunitplatformjunit-platform-launcher1.5.2junit-platform-launcher-1.5.2.jar;D:downloadlibmavenTollTransfermic-repositoryorgapiguardianapiguardian-api1.1.0apiguardian-api-1.1.0.jar;D:downloadlibmavenTollTransfermic-repositoryorgjunitplatformjunit-platform-engine1.5.2junit-platform-engine-1.5.2.jar;D:downloadlibmavenTollTransfermic-repositoryorgopentest4jopentest4j1.2.0opentest4j-1.2.0.jar;D:downloadlibmavenTollTransfermic-repositoryorgjunitplatformjunit-platform-commons1.5.2junit-platform-commons-1.5.2.jar;D:downloadlibmavenTollTransfermic-repositoryorgjunitjupiterjunit-jupiter-engine5.5.2junit-jupiter-engine-5.5.2.jar;D:downloadlibmavenTollTransfermic-repositoryorgjunitjupiterjunit-jupiter-api5.5.2junit-jupiter-api-5.5.2.jar;D:downloadlibmavenTollTransfermic-repositoryorgjunitvintagejunit-vintage-engine5.5.2junit-vintage-engine-5.5.2.jar;D:downloadlibmavenTollTransfermic-repositoryjunitjunit4.12junit-4.12.jar;D:downloadlibmavenTollTransfermic-repositoryorghamcresthamcrest-core1.3hamcrest-core-1.3.jar;C:Program FilesJavajdk1.8.0_25jrelibcharsets.jar;C:Program FilesJavajdk1.8.0_25jrelibdeploy.jar;C:Program FilesJavajdk1.8.0_25jrelibextaccess-bridge-64.jar;C:Program FilesJavajdk1.8.0_25jrelibextcldrdata.jar;C:Program FilesJavajdk1.8.0_25jrelibextdnsns.jar;C:Program FilesJavajdk1.8.0_25jrelibextjaccess.jar;C:Program FilesJavajdk1.8.0_25jrelibextjfxrt.jar;C:Program FilesJavajdk1.8.0_25jrelibextlocaledata.jar;C:Program FilesJavajdk1.8.0_25jrelibext
ashorn.jar;C:Program FilesJavajdk1.8.0_25jrelibextsunec.jar;C:Program FilesJavajdk1.8.0_25jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.8.0_25jrelibextsunmscapi.jar;C:Program FilesJavajdk1.8.0_25jrelibextsunpkcs11.jar;C:Program FilesJavajdk1.8.0_25jrelibextzipfs.jar;C:Program FilesJavajdk1.8.0_25jrelibjavaws.jar;C:Program FilesJavajdk1.8.0_25jrelibjce.jar;C:Program FilesJavajdk1.8.0_25jrelibjfr.jar;C:Program FilesJavajdk1.8.0_25jrelibjfxswt.jar;C:Program FilesJavajdk1.8.0_25jrelibjsse.jar;C:Program FilesJavajdk1.8.0_25jrelibmanagement-agent.jar;C:Program FilesJavajdk1.8.0_25jrelibplugin.jar;C:Program FilesJavajdk1.8.0_25jrelib
esources.jar;C:Program FilesJavajdk1.8.0_25jrelib
t.jar;D:ideaworkspaceProjectStudymybatis-02	argetclasses;D:downloadlibmavenTollTransfermic-repositoryorghamcresthamcrest-core2.1hamcrest-core-2.1.jar;D:downloadlibmavenTollTransfermic-repositoryorghamcresthamcrest2.1hamcrest-2.1.jar;D:downloadlibmavenTollTransfermic-repositoryorgmybatismybatis3.4.5mybatis-3.4.5.jar;D:downloadlibmavenTollTransfermic-repositorymysqlmysql-connector-java5.1.44mysql-connector-java-5.1.44.jar;D:downloadlibmavenTollTransfermic-repositorylog4jlog4j1.2.17log4j-1.2.17.jar;D:downloadlibmavenTollTransfermic-repositoryorgslf4jslf4j-log4j121.7.12slf4j-log4j12-1.7.12.jar;D:downloadlibmavenTollTransfermic-repositoryorgslf4jslf4j-api1.7.30slf4j-api-1.7.30.jar;D:downloadlibmavenTollTransfermic-repositorycglibcglib3.3.0cglib-3.3.0.jar;D:downloadlibmavenTollTransfermic-repositoryorgow2asmasm7.1asm-7.1.jar;D:downloadlibmavenTollTransfermic-repository
etlogstashlogbacklogstash-logback-encoder5.3logstash-logback-encoder-5.3.jar;D:downloadlibmavenTollTransfermic-repositorycomfasterxmljacksoncorejackson-databind2.10.3jackson-databind-2.10.3.jar;D:downloadlibmavenTollTransfermic-repositorycomfasterxmljacksoncorejackson-annotations2.10.3jackson-annotations-2.10.3.jar;D:downloadlibmavenTollTransfermic-repositorycomfasterxmljacksoncorejackson-core2.10.3jackson-core-2.10.3.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit5 com.mybatis03.test.testTeacher01,queryGroupAndTeachers
[lsjSso]2021-10-19 19:34:58,081-org.apache.ibatis.logging.LogFactory-0   [main]DEBUGorg.apache.ibatis.logging.LogFactory-Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.
[lsjSso]2021-10-19 19:34:58,188-org.apache.ibatis.logging.LogFactory-107 [main]DEBUGorg.apache.ibatis.logging.LogFactory-Logging initialized using 'class org.apache.ibatis.logging.log4j.Log4jImpl' adapter.
[lsjSso]2021-10-19 19:34:58,208-org.apache.ibatis.datasource.pooled.PooledDataSource-127 [main]DEBUGorg.apache.ibatis.datasource.pooled.PooledDataSource-PooledDataSource forcefully closed/removed all connections.
[lsjSso]2021-10-19 19:34:58,208-org.apache.ibatis.datasource.pooled.PooledDataSource-127 [main]DEBUGorg.apache.ibatis.datasource.pooled.PooledDataSource-PooledDataSource forcefully closed/removed all connections.
[lsjSso]2021-10-19 19:34:58,208-org.apache.ibatis.datasource.pooled.PooledDataSource-127 [main]DEBUGorg.apache.ibatis.datasource.pooled.PooledDataSource-PooledDataSource forcefully closed/removed all connections.
[lsjSso]2021-10-19 19:34:58,209-org.apache.ibatis.datasource.pooled.PooledDataSource-128 [main]DEBUGorg.apache.ibatis.datasource.pooled.PooledDataSource-PooledDataSource forcefully closed/removed all connections.
[lsjSso]2021-10-19 19:34:58,339-org.apache.ibatis.transaction.jdbc.JdbcTransaction-258 [main]DEBUGorg.apache.ibatis.transaction.jdbc.JdbcTransaction-Opening JDBC Connection
[lsjSso]2021-10-19 19:34:58,586-org.apache.ibatis.datasource.pooled.PooledDataSource-505 [main]DEBUGorg.apache.ibatis.datasource.pooled.PooledDataSource-Created connection 752316209.
[lsjSso]2021-10-19 19:34:58,587-org.apache.ibatis.transaction.jdbc.JdbcTransaction-506 [main]DEBUGorg.apache.ibatis.transaction.jdbc.JdbcTransaction-Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@2cd76f31]
[lsjSso]2021-10-19 19:34:58,590-com.mybatis03.mapper.TeacherMapper.queryGroupAndTeachers-509 [main]DEBUGcom.mybatis03.mapper.TeacherMapper.queryGroupAndTeachers-==>  Preparing: SELECT g.*,t.* FROM teachergroup g INNER JOIN teacher t ON g.groupid = t.groupno WHERE g.groupid =? 
[lsjSso]2021-10-19 19:34:58,626-com.mybatis03.mapper.TeacherMapper.queryGroupAndTeachers-545 [main]DEBUGcom.mybatis03.mapper.TeacherMapper.queryGroupAndTeachers-==> Parameters: 1(Integer)
[lsjSso]2021-10-19 19:34:58,642-com.mybatis03.mapper.TeacherMapper.queryGroupAndTeachers-561 [main]DEBUGcom.mybatis03.mapper.TeacherMapper.queryGroupAndTeachers-<==      Total: 2
实现一对多关联,一个教研组对应多个教师,查询结果为:TeacherGroup{groupID=1, groupName='chinese', teacherList{teaNo=1001,courseNo=7001,teaName=sara,groupNo=1,teaNo=1002,courseNo=7002,teaName=sakula,groupNo=1}}

Process finished with exit code 0

4.2 控制台日志

A、文件目录

  

B、file.log 文件内容(文件内容和控制台打印日志相同)

  

 日志分析:

 总结:日志添加说明

1、log4j,添加log4j的jar包(既:在mybatis-03.xml中引用了jar包)

2、开启日志 (mybatis-03.xml 中开启日志)

3、如果不指定,mybatis就会根据以下顺序寻找日志

      SLF4J-> Apache Commons Logging ---> Log4j 2 ----->Log4j---->JDK logging 

4、编写日志输出文件:log4j.properties 日志级别:DEBUG<INFO<WARN<ERROR

原文地址:https://www.cnblogs.com/northeastTycoon/p/15426175.html