当前位置: 首页 > 知识库问答 >
问题:

Log4j调试到文件-信息到控制台

萧永长
2023-03-14


我将log4j用于日志。
我有一个类只想打印到控制台的log.info级别,
并打印到一些文件log.info+log.debug级别(同一个类)。

我尝试按以下方式设置log4j.xml:

<!--appender to parser file-->
<appender name="parserFile" class="org.apache.log4j.FileAppender">
    <param name="File" value="/var/log/java/parser/parser.log" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{E MMM dd HH:mm:ss} %c : %m%n" />
    </layout>
</appender> 

 <!--appender to the stdout-->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
    </layout>
</appender>


<logger name="parser.ParserMainJava">
    <level value="debug" />
    <appender-ref ref="parserFile" />
</logger>

<logger name="parser.ParserMainJava">
    <level value="info" />
    <appender-ref ref="console" />
</logger>

这是我的配置,但我不能使用相同包名的2个记录器。
有什么建议吗?
谢谢,
或者。

共有1个答案

逄学潞
2023-03-14

只需用调试级别为“parser.parserMainjava”定义一个记录器,并将以下参数添加到您的控制台追加器定义中:

<param name="Threshold" value="INFO"/>
 类似资料:
  • 问题内容: 我使用urlib打我的应用程序而不是浏览器,所以发生错误时我看不到调试屏幕。将常规调试信息发送到控制台或文件的最佳方法是什么? 编辑:我已经捕获了页面的输出,但是当我将其打印到屏幕上时,它充满了无用的html吨。我可以得到错误吗? 问题答案: 我建议使用以下使用内置日志记录系统的方法之一。 以类似的方式将异常通过管道传递到管理员电子邮件处理程序,你可以将数据发送到控制台记录器,文件记录

  • 问题内容: 我有一段简单的代码将控制台文本输出到Java中的文本文件: 但是,我要求此文本文件包含控制台中生成的错误消息,但不包括这些错误消息。 我该怎么做呢? 问题答案: 加: 在末尾。

  • 本文向大家介绍python 信息同时输出到控制台与文件的实例讲解,包括了python 信息同时输出到控制台与文件的实例讲解的使用技巧和注意事项,需要的朋友参考一下 python编程中,往往需要将结果用print等输出,如果希望输出既可以显示到IDE的屏幕上,也能存到文件中(如txt)中,该怎么办呢? 方法1 可通过日志logging模块输出信息到文件或屏幕。但可能要设置log的level或输出端,

  • 问题内容: 我想使用apache log4j将日志记录添加到正在开发的应用程序中。在这一点上,我想将所有级别为INFO和更低级别(TRACE,DEBUG)的日志消息重定向到stdout,并将所有其他日志消息从WARN及更高版本(ERROR,FATAL)重定向到stderr。例如: 那么我的log4j.properties文件应该是什么?这是如何看待这一时刻的: 上面配置的问题是logger.err

  • VSCode调试控制台最近开始跳到顶部,而不是显示控制台中键入的最新命令的结果。如何使它“固定”到控制台的底部以显示最新的输出?

  • 操作系统:MacOS OSX Yosemite 10.10.5 GO:GO1.11.2达尔文/AMD64