这篇文章主要是来实现log4j.xml实现打印sql语句和日志存入数据库。以下是最完整的配置,大家要相互学习和分享啊,o((≧▽≦o)!!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %3p %c{1}.%M():%L - %m%n" />
</layout>
</appender>
<!-- 打印数据库数据 -->
<appender name="db" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="driver" value="com.mysql.jdbc.Driver" />
<param name="URL"
value="jdbc:mysql://10.x.x.x:3306/security_db?useUnicode=true&characterEncoding=utf-8" />
<param name="user" value="root" />
<param name="password" value="xxx" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="insert into bbs_log(log_name, user_name, oper_class, oper_method, create_time, log_level, msg, source, user_type) values ('%X{userid}','%X{username}','%C','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%m', '%X{source}', '%X{usertype}')" />
</layout>
</appender>
<!--- 异步测试,当日志达到缓存区大小时候执行所包的appender -->
<!-- <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> -->
<!-- <param name="BufferSize" value="2" /> -->
<!-- <appender-ref ref="db" /> -->
<!-- </appender> -->
<logger name="net.dontdrinkandroot.example.angularrestspringsecurity.rest.resources" additivity="false">
<level value="DEBUG" />
<appender-ref ref="db" />
</logger>
<!-- 下面是打印 mybatis语句的配置 -->
<logger name="java.sql.Statement" additivity="true">
<level value="DEBUG" />
</logger>
<logger name="org.springframework" additivity="true">
<level value="OFF" />
</logger>
<logger name="org.apache.ibatis" additivity="true">
<level value="OFF" />
</logger>
<logger name="org.mybatis.spring" additivity="true">
<level value="OFF" />
</logger>
<logger name="java.sql.PreparedStatement" additivity="true">
<level value="DEBUG" />
</logger>
<logger name="java.sql.ResultSet" additivity="true">
<level value="DEBUG" />
</logger>
<root>
<level value="DEBUG" />
<appender-ref ref="CONSOLE" />
</root>
</log4j:configuration>
大家可以再次基础上可以添加自己的输出方式,打印日志和记录日志对于根据业务的进行和bug的跟踪大有帮助,所以还是养成记录日志的习惯。
本文详细介绍了如何配置log4j.xml以记录SQL语句,并将日志信息存储到数据库中,强调了日志记录对于业务监控和故障排查的重要性,鼓励开发者养成良好的日志记录习惯。
1686

被折叠的 条评论
为什么被折叠?



