日志

来源:互联网 发布:大庄家软件官网 编辑:程序博客网 时间:2024/05/21 22:30
<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post"><p>这篇文章主要是来实现log4j.xml实现打印sql语句和日志存入<a href="http://lib.csdn.net/base/mysql" class="replace_word" title="MySQL知识库" target="_blank" style="color:#df3434; font-weight:bold;">数据库</a>。以下是最完整的配置,大家要相互学习和分享啊,o((≧▽≦o)!!</p><p></p><div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 446px; top: 412px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_1" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_1" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=1&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span class="tag"><?</span><span class="tag-name">xml</span><span> </span><span class="attribute">version</span><span>=</span><span class="attribute-value">"1.0"</span><span> </span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">"UTF-8"</span><span class="tag">?></span><span>   </span></span></li><li class=""><span><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"<span class="tag">></span><span>  </span></span></li><li class="alt"><span><span class="tag"><</span><span class="tag-name">log4j:configuration</span><span> </span><span class="attribute">xmlns:log4j</span><span>=</span><span class="attribute-value">"http://jakarta.apache.org/log4j/"</span><span class="tag">></span><span>  </span></span></li><li class=""><span>      </span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">appender</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"CONSOLE"</span><span> </span><span class="attribute">class</span><span>=</span><span class="attribute-value">"org.apache.log4j.ConsoleAppender"</span><span class="tag">></span><span>  </span></span></li><li class=""><span>        <span class="tag"><</span><span class="tag-name">layout</span><span> </span><span class="attribute">class</span><span>=</span><span class="attribute-value">"org.apache.log4j.PatternLayout"</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>            <span class="tag"><</span><span class="tag-name">param</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"ConversionPattern"</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"%d{ABSOLUTE} %3p %c{1}.%M():%L - %m%n"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class=""><span>        <span class="tag"></</span><span class="tag-name">layout</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"></</span><span class="tag-name">appender</span><span class="tag">></span><span>  </span></span></li><li class=""><span>  </span></li><li class="alt"><span>        <span class="comments"><!-- 打印数据库数据 --></span><span>  </span></span></li><li class=""><span>    <span class="tag"><</span><span class="tag-name">appender</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"db"</span><span> </span><span class="attribute">class</span><span>=</span><span class="attribute-value">"org.apache.log4j.jdbc.JDBCAppender"</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">param</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"driver"</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"com.mysql.jdbc.Driver"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class=""><span>    <span class="tag"><</span><span class="tag-name">param</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"URL"</span><span>  </span></span></li><li class="alt"><span>        <span class="attribute">value</span><span>=</span><span class="attribute-value">"jdbc:mysql://10.x.x.x:3306/security_db?useUnicode=true&characterEncoding=utf-8"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class=""><span>    <span class="tag"><</span><span class="tag-name">param</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"user"</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"root"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">param</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"password"</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"xxx"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class=""><span>    <span class="tag"><</span><span class="tag-name">layout</span><span> </span><span class="attribute">class</span><span>=</span><span class="attribute-value">"org.apache.log4j.PatternLayout"</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>        <span class="tag"><</span><span class="tag-name">param</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"ConversionPattern"</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-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}')"</span><span> </span><span class="tag">/></span><span>   </span></span></li><li class=""><span>    <span class="tag"></</span><span class="tag-name">layout</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span><span class="tag"></</span><span class="tag-name">appender</span><span class="tag">></span><span>  </span></span></li><li class=""><span>  </span></li><li class="alt"><span>    <span class="comments"><!--- 异步测试,当日志达到缓存区大小时候执行所包的appender --></span><span>  </span></span></li><li class=""><span><span class="comments"><!--     <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> --></span><span>  </span></span></li><li class="alt"><span><span class="comments"><!--         <param name="BufferSize" value="2" /> --></span><span>  </span></span></li><li class=""><span><span class="comments"><!--         <appender-ref ref="db" /> --></span><span>  </span></span></li><li class="alt"><span><span class="comments"><!--     </appender> --></span><span>  </span></span></li><li class=""><span>      </span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">logger</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"net.dontdrinkandroot.example.angularrestspringsecurity.rest.resources"</span><span> </span><span class="attribute">additivity</span><span>=</span><span class="attribute-value">"false"</span><span class="tag">></span><span>  </span></span></li><li class=""><span>        <span class="tag"><</span><span class="tag-name">level</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"DEBUG"</span><span> </span><span class="tag">/></span><span>   </span></span></li><li class="alt"><span>        <span class="tag"><</span><span class="tag-name">appender-ref</span><span> </span><span class="attribute">ref</span><span>=</span><span class="attribute-value">"db"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class=""><span>    <span class="tag"></</span><span class="tag-name">logger</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>      </span></li><li class=""><span>    <span class="comments"><!-- 下面是打印 mybatis语句的配置 --></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">logger</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"java.sql.Statement"</span><span> </span><span class="attribute">additivity</span><span>=</span><span class="attribute-value">"true"</span><span class="tag">></span><span>  </span></span></li><li class=""><span>        <span class="tag"><</span><span class="tag-name">level</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"DEBUG"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"></</span><span class="tag-name">logger</span><span class="tag">></span><span>  </span></span></li><li class=""><span>      </span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">logger</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"org.springframework"</span><span> </span><span class="attribute">additivity</span><span>=</span><span class="attribute-value">"true"</span><span class="tag">></span><span>  </span></span></li><li class=""><span>        <span class="tag"><</span><span class="tag-name">level</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"OFF"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"></</span><span class="tag-name">logger</span><span class="tag">></span><span>  </span></span></li><li class=""><span>    <span class="tag"><</span><span class="tag-name">logger</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"org.apache.ibatis"</span><span> </span><span class="attribute">additivity</span><span>=</span><span class="attribute-value">"true"</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>        <span class="tag"><</span><span class="tag-name">level</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"OFF"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class=""><span>    <span class="tag"></</span><span class="tag-name">logger</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">logger</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"org.mybatis.spring"</span><span> </span><span class="attribute">additivity</span><span>=</span><span class="attribute-value">"true"</span><span class="tag">></span><span>  </span></span></li><li class=""><span>        <span class="tag"><</span><span class="tag-name">level</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"OFF"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"></</span><span class="tag-name">logger</span><span class="tag">></span><span>  </span></span></li><li class=""><span>      </span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">logger</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"java.sql.PreparedStatement"</span><span> </span><span class="attribute">additivity</span><span>=</span><span class="attribute-value">"true"</span><span class="tag">></span><span>  </span></span></li><li class=""><span>        <span class="tag"><</span><span class="tag-name">level</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"DEBUG"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"></</span><span class="tag-name">logger</span><span class="tag">></span><span>  </span></span></li><li class=""><span>  </span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">logger</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"java.sql.ResultSet"</span><span> </span><span class="attribute">additivity</span><span>=</span><span class="attribute-value">"true"</span><span class="tag">></span><span>  </span></span></li><li class=""><span>        <span class="tag"><</span><span class="tag-name">level</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"DEBUG"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>    <span class="tag"></</span><span class="tag-name">logger</span><span class="tag">></span><span>  </span></span></li><li class=""><span>  </span></li><li class="alt"><span>    <span class="tag"><</span><span class="tag-name">root</span><span class="tag">></span><span>  </span></span></li><li class=""><span>        <span class="tag"><</span><span class="tag-name">level</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"DEBUG"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class="alt"><span>        <span class="tag"><</span><span class="tag-name">appender-ref</span><span> </span><span class="attribute">ref</span><span>=</span><span class="attribute-value">"CONSOLE"</span><span> </span><span class="tag">/></span><span>  </span></span></li><li class=""><span>    <span class="tag"></</span><span class="tag-name">root</span><span class="tag">></span><span>  </span></span></li><li class="alt"><span><span class="tag"></</span><span class="tag-name">log4j:configuration</span><span class="tag">></span><span>   </span></span></li></ol><div><embed src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" flashvars="clipboard=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%20%0A%3C!DOCTYPE%20log4j%3Aconfiguration%20SYSTEM%20%22log4j.dtd%22%3E%0A%3Clog4j%3Aconfiguration%20xmlns%3Alog4j%3D%22http%3A%2F%2Fjakarta.apache.org%2Flog4j%2F%22%3E%0A%09%0A%09%3Cappender%20name%3D%22CONSOLE%22%20class%3D%22org.apache.log4j.ConsoleAppender%22%3E%0A%09%09%3Clayout%20class%3D%22org.apache.log4j.PatternLayout%22%3E%0A%09%09%09%3Cparam%20name%3D%22ConversionPattern%22%20value%3D%22%25d%7BABSOLUTE%7D%20%253p%20%25c%7B1%7D.%25M()%3A%25L%20-%20%25m%25n%22%20%2F%3E%0A%09%09%3C%2Flayout%3E%0A%09%3C%2Fappender%3E%0A%0A%20%20%20%20%20%20%20%20%3C!--%20%E6%89%93%E5%8D%B0%E6%95%B0%E6%8D%AE%E5%BA%93%E6%95%B0%E6%8D%AE%20--%3E%0A%09%3Cappender%20name%3D%22db%22%20class%3D%22org.apache.log4j.jdbc.JDBCAppender%22%3E%0A%09%3Cparam%20name%3D%22driver%22%20value%3D%22com.mysql.jdbc.Driver%22%20%2F%3E%0A%09%3Cparam%20name%3D%22URL%22%0A%09%09value%3D%22jdbc%3Amysql%3A%2F%2F10.x.x.x%3A3306%2Fsecurity_db%3FuseUnicode%3Dtrue%26characterEncoding%3Dutf-8%22%20%2F%3E%0A%09%3Cparam%20name%3D%22user%22%20value%3D%22root%22%20%2F%3E%0A%09%3Cparam%20name%3D%22password%22%20value%3D%22xxx%22%20%2F%3E%0A%09%3Clayout%20class%3D%22org.apache.log4j.PatternLayout%22%3E%0A%20%09%09%3Cparam%20name%3D%22ConversionPattern%22%20value%3D%22insert%20into%20bbs_log(log_name%2C%20user_name%2C%20oper_class%2C%20oper_method%2C%20create_time%2C%20log_level%2C%20msg%2C%20source%2C%20user_type)%20values%20('%25X%7Buserid%7D'%2C'%25X%7Busername%7D'%2C'%25C'%2C'%25M'%2C'%25d%7Byyyy-MM-dd%20HH%3Amm%3Ass%7D'%2C'%25p'%2C'%25m'%2C%20'%25X%7Bsource%7D'%2C%20'%25X%7Busertype%7D')%22%20%2F%3E%20%0A%09%3C%2Flayout%3E%0A%3C%2Fappender%3E%0A%0A%09%3C!---%20%E5%BC%82%E6%AD%A5%E6%B5%8B%E8%AF%95%EF%BC%8C%E5%BD%93%E6%97%A5%E5%BF%97%E8%BE%BE%E5%88%B0%E7%BC%93%E5%AD%98%E5%8C%BA%E5%A4%A7%E5%B0%8F%E6%97%B6%E5%80%99%E6%89%A7%E8%A1%8C%E6%89%80%E5%8C%85%E7%9A%84appender%20--%3E%0A%3C!--%20%09%3Cappender%20name%3D%22ASYNC%22%20class%3D%22org.apache.log4j.AsyncAppender%22%3E%20--%3E%0A%3C!--%20%09%09%3Cparam%20name%3D%22BufferSize%22%20value%3D%222%22%20%2F%3E%20--%3E%0A%3C!--%20%09%09%3Cappender-ref%20ref%3D%22db%22%20%2F%3E%20--%3E%0A%3C!--%20%09%3C%2Fappender%3E%20--%3E%0A%09%0A%20%20%20%20%3Clogger%20name%3D%22net.dontdrinkandroot.example.angularrestspringsecurity.rest.resources%22%20additivity%3D%22false%22%3E%0A%09%09%3Clevel%20value%3D%22DEBUG%22%20%2F%3E%20%0A%09%09%3Cappender-ref%20ref%3D%22db%22%20%2F%3E%0A%09%3C%2Flogger%3E%0A%09%0A%09%3C!--%20%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%93%E5%8D%B0%20mybatis%E8%AF%AD%E5%8F%A5%E7%9A%84%E9%85%8D%E7%BD%AE%20--%3E%0A%09%3Clogger%20name%3D%22java.sql.Statement%22%20additivity%3D%22true%22%3E%0A%09%09%3Clevel%20value%3D%22DEBUG%22%20%2F%3E%0A%09%3C%2Flogger%3E%0A%09%0A%09%3Clogger%20name%3D%22org.springframework%22%20additivity%3D%22true%22%3E%0A%09%09%3Clevel%20value%3D%22OFF%22%20%2F%3E%0A%09%3C%2Flogger%3E%0A%09%3Clogger%20name%3D%22org.apache.ibatis%22%20additivity%3D%22true%22%3E%0A%09%09%3Clevel%20value%3D%22OFF%22%20%2F%3E%0A%09%3C%2Flogger%3E%0A%09%3Clogger%20name%3D%22org.mybatis.spring%22%20additivity%3D%22true%22%3E%0A%09%09%3Clevel%20value%3D%22OFF%22%20%2F%3E%0A%09%3C%2Flogger%3E%0A%09%0A%09%3Clogger%20name%3D%22java.sql.PreparedStatement%22%20additivity%3D%22true%22%3E%0A%09%09%3Clevel%20value%3D%22DEBUG%22%20%2F%3E%0A%09%3C%2Flogger%3E%0A%0A%09%3Clogger%20name%3D%22java.sql.ResultSet%22%20additivity%3D%22true%22%3E%0A%09%09%3Clevel%20value%3D%22DEBUG%22%20%2F%3E%0A%09%3C%2Flogger%3E%0A%0A%09%3Croot%3E%0A%09%09%3Clevel%20value%3D%22DEBUG%22%20%2F%3E%0A%09%09%3Cappender-ref%20ref%3D%22CONSOLE%22%20%2F%3E%0A%09%3C%2Froot%3E%0A%3C%2Flog4j%3Aconfiguration%3E%20" width="0" height="0" type="application/x-shockwave-flash"></div></div><pre code_snippet_id="1783369" snippet_file_name="blog_20160725_1_6029106" name="code" class="html" style="display: none;"><?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> </pre><p>大家可以再次基础上可以添加自己的输出方式,打印日志和记录日志对于根据业务的进行和bug的跟踪大有帮助,所以还是养成记录日志的习惯。</p><p><br></p>   </div>

原创粉丝点击