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