欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Tomcat下项目调整Log4J的console输出级别,减少输出信息

发布时间:2025/3/19 编程问答 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Tomcat下项目调整Log4J的console输出级别,减少输出信息 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

场景

输出优先级,由低到高

DEBUG,INFO,WARN,ERROR,FATAL

输出方式说明

  org.apache.log4j.ConsoleAppender(控制台),
  org.apache.log4j.FileAppender(文件),
  org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
  org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
  org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

实现

所以这里为了使项目启动时少输出信息。我们找到Tomcat下的webapps下的项目下的WEB-INF下的

class下的log4j.xml或者log4j.properties,这里以log4j.xml为例。

<!-- 输出到控制台中 --><appender name="console" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] (%c:%L) - %m%n" /></layout><!-- 限制日志输出级别 --><filter class="org.apache.log4j.varia.LevelRangeFilter"><param name="LevelMax" value="ERROR" /><param name="LevelMin" value="WARN" /></filter></appender>

将LevelMin调高点。

log4j.xml示例代码:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><!-- ========================== 自定义输出格式说明================================ --><!-- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL --><!-- #%r 输出自应用启动到输出该log信息耗费的毫秒数 --><!-- #%c 输出所属的类目,通常就是所在类的全名 --><!-- #%t 输出产生该日志事件的线程名 --><!-- #%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” --><!-- #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM ddHH:mm:ss,SSS},输出类似:2002年10月18日22:10:28,921 --><!-- #%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10) --><!-- ========================================================================== --><!-- ========================== 输出方式说明================================ --><!-- Log4j提供的appender有以下几种: --><!-- org.apache.log4j.ConsoleAppender(控制台), --><!-- org.apache.log4j.FileAppender(文件), --><!-- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), --><!-- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), --><!-- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) --><!-- ========================================================================== --><!-- 输出到日志文件 每天一个日志 --><appender name="filelog_daily" class="org.apache.log4j.DailyRollingFileAppender"><param name="File" value="${pass}logs/***_logs_daily.log" /><param name="DatePattern" value="'daily.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern"value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] [%t] (%c:%L) - %m%n" /></layout></appender><!-- 输出到控制台中 --><appender name="console" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] (%c:%L) - %m%n"/></layout><!-- 限制日志输出级别 --><filter class="org.apache.log4j.varia.LevelRangeFilter"><param name="LevelMax" value="ERROR" /><param name="LevelMin" value="WARN" /></filter></appender><!-- 发邮件(只有ERROR时才会发送) --><appender name="mail" class="org.apache.log4j.net.SMTPAppender"><param name="threshold" value="ERROR" /><!-- 缓存文件大小,日志达到512k时发送Email --><param name="BufferSize" value="512" /><param name="From" value="***@126.com" /><param name="SMTPHost" value="smtp.126.com" /><param name="Subject" value="***" /><param name="To" value="***@***.com" /><param name="SMTPUsername" value="***" /><param name="SMTPPassword" value="***" /><layout  class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss.SSS} [%p]-[%c] %m%n" /></layout></appender><!-- 通过<category></category>的定义可以将各个包中的类日志输出到不同的日志文件中--><logger name="org.quartz" additivity="true"><level value="INFO"/></logger><root><level value="DEBUG" /><!-- <appender-ref ref="filelog_appender" /> --><!-- <appender-ref ref="filelog_daily" /> --><appender-ref ref="console" /></root></log4j:configuration> 

 

总结

以上是生活随笔为你收集整理的Tomcat下项目调整Log4J的console输出级别,减少输出信息的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。