log4j.xml数据库保存日志

本文详细介绍了如何配置log4j.xml以记录SQL语句,并将日志信息存储到数据库中,强调了日志记录对于业务监控和故障排查的重要性,鼓励开发者养成良好的日志记录习惯。

这篇文章主要是来实现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的跟踪大有帮助,所以还是养成记录日志的习惯。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值