java - 使用 Log4j 进行日志记录

标签 java log4j

我们在项目中使用 Log4j 进行日志记录。我想记录一些类的一些语句而不显示除内容之外的任何额外信息,例如:

目前是这样的,如果日志级别是INFO:

05/11/2009 16:54:13 INFO TemplateManagerImpl - Templates in cache:1

我只想要下面的信息,而不考虑任何日志记录级别设置

Templates in cache:1

最佳答案

Log4j 允许您配置LayoutsAppendersLoggers 并将它们以非常灵活的组合方式组合在一起。 Layout 控制输出将包含的内容及其格式,Appender 控制输出的输出方式,Logger 对日志记录的来源进行分类。通过修改 LogConfig.xml 文件,您可以设置关系来执行您想要的操作。例如,类似于以下代码片段(有关详细信息,请参阅 Log4j 文档):

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
   <param name="Target" value="System.out"/>
   <param name="Threshold" value="error"/>

   <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%m%n"/>
   </layout>
</appender>

<logger name="org.myclasses.MyClass">
   <level value="debug"/>
   <appender-ref ref="CONSOLE" />
</logger>

关于java - 使用 Log4j 进行日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1686702/

相关文章:

java - 如何在Eclipse Scout框架中设置不同的日志级别?

java - Log4j如何在文件中保存低于 “WARN”的级别

hadoop - Hadoop MapReduce java 类中的最佳日志记录方法是什么?

java - 声音加载在ubuntu中工作,但在Windows中不工作

java - 如何正确转换xsd :dateTime to date in europe?

java - 为什么 CountdownTimer 只调用 onTick 一次?

java - 如何将文件 bundle 到应用程序中?

java - ActiveMQ servlet 与 java 客户端连接

Java 包 Log4J2 : MapFilters

java - Apache Log4j2 : one log file per day, 删除旧文件