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

避免在父记录器中写入Log4j2

徐高懿
2023-03-14

在我的项目中,我有一些软件包,如:

com.project.my

我为每种包定义了几个记录器,例如:

<Logger name="com.project.my" additivity="true" level="warn">
   <AppenderRef ref="RollingFile" />
</Logger>

<Logger name="com.project" additivity="true" level="warn">
   <AppenderRef ref="RollingFile" />
</Logger>

还有更多...

问题是,当我使用com.project编写日志时。在我的记录器中,输出被写入com.project。我的滚动文件日志并进入com。项目文件日志

我只是想把输出写进com.project。仅限我的文件日志。我怎么解决这个问题?

共有1个答案

夏侯承恩
2023-03-14

为logger.project.my设置可加性=“false”。有关可加性的详细信息,请参阅log4j2手册。你也可以找到我写的另一个关于可加性的答案。手册的架构页面上也有一些关于它的信息。

 类似资料:
  • 如何避免类名和记录器混淆(DexGuard) DexGuard:避免类名和记录器混淆从Android版本构建Apk 推荐我任何一个。。。

  • 问题内容: 我刚刚实现了Winston Logging,它可以按预期工作,但是遇到了一些我找不到答案的问题。 据我所知,winston的工作方式是设置的日志级别,以及使用优先级以下的任何东西,例如出错时,它还将包括信息日志等。是否有一种创建特定日志级别的方法可以称之为HTTP还是db,我只将http或db事件记录到日志中,而它们并没有出现在合并的文件或控制台中? 问题答案: 更好的解决方案是使用具

  • 我有一个. NET应用程序,它使用WebClient和SAS令牌将blob上传到容器。默认行为是具有相同名称的blob被替换/覆盖。 有没有办法在服务器上改变它,例如,防止替换已经存在的blob? 我已经看到了避免过度写入blobs AZURE,但它是关于客户端的。 我的目标是保护服务器免受重写blob的影响。 AFAIK 文件直接上传到容器,没有机会拦截请求并检查 blob 是否存在。 编辑 让

  • 问题内容: 在我的应用程序中,我正在通过PMD运行代码,它向我显示以下消息: 避免使用printStackTrace(); 请改用记录器调用。 那是什么意思? 问题答案: 这意味着您应该使用logback或log4j之类的日志记录框架,而不是直接打印异常: 您应该使用以下框架的API记录它们: 日志记录框架为您提供了很大的灵活性,例如,您可以选择是否要登录到控制台或文件-如果发现它们在某些环境中不

  • 如果我在文件已经存在的同一个容器中上传azure blob上的文件,它正在覆盖文件,如何避免覆盖相同的文件?下面我提到的场景... 步骤1-将文件“abc.jpg”上传到azure上名为“filecontainer”的容器中 第二步-一旦它被上传,尝试上传一些不同的同名文件到同一个容器 输出 - 它将用最新上传的文件覆盖现有文件 我的要求-我想避免这种覆盖,因为不同的人可能会将具有相同名称的文件上

  • 如何避免在PHP MYSQLi中插入重复记录?这是我的剧本: