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

Log4j2 ouptput到文件成功,但未使用Ant到控制台

梅修贤
2023-03-14
In the Log4j2.xml, both Appenders to Console and File have been created.

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="All">
      <Appenders>
          <Console name="STDOUT" target="SYSTEM_OUT" >
              <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
          </Console>
          <File name="FileLogger" fileName="MyLog.log" append="false">
              <PatternLayout pattern="%d %t %-5p %c{2} - %m%n"/>
          </File> 
      </Appenders>
      <Loggers>
          <Logger name="com.site" level="All" />
          <Root >
              <AppenderRef ref="STDOUT" level="All"/>
              <AppenderRef ref="FileLogger" level="All"/> 
          </Root>
      </Loggers>
</Configuration>

在build.xml中,我在“junit”目标的类路径中包含了log4j2.xml的路径

<target name="junit">
    <classpath>
        <path refid="log4j2_config"/>

在测试类中,包含了getLogger。私有静态最终记录器log4j=logmanager.getlogger(“com.site”);

共有1个答案

西门嘉石
2023-03-14

在您的配置中,name=“com.site”的记录器没有appender-ref。以便记录器不执行任何操作,可以将其删除。您的根记录器将处理所有事件,所以这是很好的。

我怀疑使用Ant运行JUnit测试和在Eclipse中运行JUnit测试的区别在于类路径问题。尝试在 中指定完整的绝对路径,看看这样做是否有区别。

还可以使用系统属性指定配置文件的位置:http://logging.apache.org/log4j/2.x/faq.html#config_location

 类似资料:
  • 我将log4j用于日志。 我有一个类只想打印到控制台的log.info级别, 并打印到一些文件log.info+log.debug级别(同一个类)。 我尝试按以下方式设置log4j.xml: 这是我的配置,但我不能使用相同包名的2个记录器。 有什么建议吗? 谢谢, 或者。

  • 由于某种原因,即使目标控制器类已经存在于正确的路径中,也找不到它。 路线 我的控制器路径是App- 这是我的控制器: 我已经尝试了作曲家转储-自动加载。我使用laravel框架8.0,所以我也试图恢复和使用7.24。仍然没有找到目标类。

  • 我一直在犯这个错误 你们可以看到,我的项目里有那个文件。 我还尝试重新启动我的本地MAMP服务器并清除缓存 我也做了 请让我知道我还能做什么。 路线 route::get(“/”,function(){return redirect::to(“/baby/signin”);});route::get(“/baby/signin”,“BabyAccountController@signin”);

  • 本文向大家介绍springboot使用Logback把日志输出到控制台或输出到文件,包括了springboot使用Logback把日志输出到控制台或输出到文件的使用技巧和注意事项,需要的朋友参考一下 一:日志: 1、配置日志级别 日志记录器(Logger)的行为是分等级的。如下表所示: 分为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL 默认情况下,spring boot

  • 问题内容: 我正在尝试在蚂蚁构建过程中向.jad文件添加属性。 蚂蚁有任务要做吗?我需要做的就是在文本文件的末尾添加一行文本,但是我找不到执行此操作的任务。 问题答案: 我相信这会起作用。现在进行测试。

  • 我真的被困在作业的这一特定部分,它要求我将简单文本打印到控制台中,然后创建一个文件(无论主文件中的std::string文件名是什么),并将控制台的内容打印到该文件中。 我真的很困惑,因为该函数需要ostream,而且它还需要该函数使用任何文件名(在本例中是statistics.txt,只是为了测试该函数是否工作)。 函数是PrintStatistics。 我知道我可以使用cout在控制台上打印,