MyBatis集成Log4j

Log4j在项目中的使用频率是非常高的,可以很方便的把调试信息打印出来,方便找问题观察业务的走向。尤其是在MyBatis中,可以很方便的把SQL语句打印出来,方便我们调试代码。话不多说,切入正题。
使用步骤如下:

1、导包,要想使用Log4j毋庸置疑肯定需要导包,这里我使用的Maven工程,所以直接导入依赖即可
<!-- mybatis依赖 -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.3</version>
</dependency>
<!-- log4j依赖 -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
2、编写log4j.properties文件
# 日志的级别,日志目的地
# 本文中设定的是全局的DEGUB,为的是开发过程中方便查看调试信息
# 日志输入目的地设置了4个,分别是控制台,文件,邮件,数据库
log4j.rootLogger=DEBUG,console,logFile,mail,jdbc

#################################控制台打印#################################
# 配置目的地
# Console console = new ConsoleAppender();
log4j.appender.console=org.apache.log4j.ConsoleAppender
# 日志打印的类别,err:错误信息,字体颜色为红色;out:打印信息,
log4j.appender.console.target=System.err

# 配置控制台信息的布局
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#%p:日志级别
#%c:类名
#%m:信息
#%n:换行
#%d:日期{yyyy-MM-dd hh:mm:ss}
log4j.appender.console.layout.ConversionPattern=[%p] %d{yyyy-MM-dd hh:mm:ss} %c : %m%n

#################################输出到文件#################################
log4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender
# file表示文件路径
# 可以是相对路径也可以是绝对路径
log4j.appender.logFile.File=MyBatis.log
# 配置时间
log4j.appender.logFile.datePattern=yyyy-MM-dd

# 配置文件的布局
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=[%p] %c %m%n

#################################输出到邮件#################################
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
log4j.appender.mail.From=发件人邮箱
log4j.appender.mail.SMTPUsername=发件人邮箱
log4j.appender.mail.SMTPPassword=发件人密码
log4j.appender.mail.SMTPHost=smtp.163.com
log4j.appender.mail.SMTPPort=25
log4j.appender.mail.Subject=邮件主题
log4j.appender.mail.To=收件人邮箱
# 配置邮件的布局
log4j.appender.mail.layout=org.apache.log4j.HTMLLayout

#################################输出到数据库#################################
log4j.appender.jdbc=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.jdbc.Driver=oracle.jdbc.driver.OracleDriver
log4j.appender.jdbc.URL=jdbc:oracle:thin:@localhost:1521:orcl
log4j.appender.jdbc.user=root
log4j.appender.jdbc.password=root
log4j.appender.jdbc.sql=insert into log values(seq_log.nextval, '%c', '%m', sysdate)
log4j.appender.jdbc.threshold=INFO

log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout

# 单独针对某个包设置打印级别
log4j.logger.com.soft.mapper=DEBUG
3、在MyBatis的配置文件中添加log4j的配置
<settings>
    <setting name="logImpl" value="log4j"/>
</settings>

以上3步配置完成就可以使用log4j了。

接下来介绍一下log4j.properties文件中的代码含义。

log4j使用时需要配置的几个内容:

1、日志级别
由高到低分别是:DEBUG -> INFO -> WARN -> ERROR,级别越高,打印的内容也越多。

2、日志输出目的地(Appender),常见的目的地有:
控制台:org.apache.log4j.ConsoleAppender
文件:org.apache.log4j.DailyRollingFileAppender
邮件:org.apache.log4j.net.SMTPAppender
数据库:org.apache.log4j.jdbc.JDBCAppender

3、日志的布局(layout)也就是输出格式
%p(print):输出的级别
%c(class):类名
%n(newLine):换行
%m(message):日志信息
%d{YYYY-MM-dd hh:mm:ss}:时间

# 日志的级别,日志目的地
# 本文中设定的是全局的DEGUB,为的是开发过程中方便查看调试信息
# 日志输入目的地设置了4个,分别是控制台,文件,邮件,数据库
log4j.rootLogger=DEBUG,console,logFile,mail,jdbc

#################################控制台打印#################################
# 配置目的地
# Console console = new ConsoleAppender();
log4j.appender.console=org.apache.log4j.ConsoleAppender
# 日志打印的类别,err:错误信息,字体颜色为红色;out:打印信息,
log4j.appender.console.target=System.err

# 配置控制台信息的布局
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#%p:日志级别
#%c:类名
#%m:信息
#%n:换行
#%d:日期{yyyy-MM-dd hh:mm:ss}
log4j.appender.console.layout.ConversionPattern=[%p] %d{yyyy-MM-dd hh:mm:ss} %c : %m%n

#################################输出到文件#################################
log4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender
# File表示文件路径
# 可以是相对路径也可以是绝对路径,如果只写文件名表示在项目的根目录下创建文件
log4j.appender.logFile.File=MyBatis.log
# 配置时间,每天输出一个日志文件,包含当天日期
log4j.appender.logFile.datePattern=yyyy-MM-dd

# 配置文件的布局
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=[%p] %c %m%n

#################################输出到邮件#################################
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
log4j.appender.mail.From=发件人邮箱
log4j.appender.mail.SMTPUsername=发件人邮箱
log4j.appender.mail.SMTPPassword=发件人密码
log4j.appender.mail.SMTPHost=smtp.163.com
log4j.appender.mail.SMTPPort=25
log4j.appender.mail.Subject=邮件主题
log4j.appender.mail.To=收件人邮箱
# 配置邮件的布局
log4j.appender.mail.layout=org.apache.log4j.HTMLLayout

#################################输出到数据库#################################
log4j.appender.jdbc=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.jdbc.Driver=oracle.jdbc.driver.OracleDriver
log4j.appender.jdbc.URL=jdbc:oracle:thin:@localhost:1521:orcl
log4j.appender.jdbc.user=root
log4j.appender.jdbc.password=root
log4j.appender.jdbc.sql=insert into log values(seq_log.nextval, '%c', '%m', sysdate)
log4j.appender.jdbc.threshold=INFO

log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout

# 指定包目录下的打印级别,由于要打印SQL,所以设置持久层的目录为DEBUG
log4j.logger.com.soft.mapper=DEBUG
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值