这与log4j2版本2.13.2有关。
以下是一系列简短的事件--
我在这里的描述是--如果在新的配置中发现了预先加载的(由初始配置)记录器/追加器,它们应该被更新,其他的应该保持不变。当然,应该添加新配置的记录器/追加器。
<Configuration status="warn">
<Appenders>
<RollingFile name="applicationAppender" fileName="sample-log-executor-2008.log" filePattern="sample-log-executor-2008-%i.log">
<PatternLayout>
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="5 MB" />
</Policies>
</RollingFile>
<Console name="console_window" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="com.abc.samplecode" level="trace" additivity="false">
<appender-ref ref="applicationAppender" level="trace" />
</Logger>
<Root level="error" additivity="false">
<appender-ref ref="console_window" />
</Root>
</Loggers>
</Configuration>
log4j_api.xml
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout
pattern="%d %-5p [%t] %C (%F:%L) - %m%n" />
</Console>
<RollingFile name="xyzAPIAppender" fileName="xyzAPILog.log"
filePattern="xyzAPILog-%i.log">
<PatternLayout
pattern="%d{MMM dd yyyy HH:mm:ss.SSS} %-5p [%t] (%27F:%-5L) - %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5 MB" />
</Policies>
<DefaultRolloverStrategy max="10" />
</RollingFile>
</Appenders>
<Loggers>
<logger name="com.xyz.api" level="warn"
additivity="false">
<AppenderRef ref="xyzAPIAppender" />
</logger>
</Loggers>
</Configuration>
我怀疑您的类路径中缺少log4j2核心jar。
有关详细信息,请参阅arch http://logging.apache.org/log4j/2.x/faq.html#which_jars
由此我从NetBeans得到以下错误消息: 所有异常消息都写入控制台,包括用户日志的消息。所以我知道两个伐木工都在工作。记录器附加器写入文件OK。userLog记录器不会创建任何文件,它使用几乎相同的附加器。 看来我还没有正确地命名一些东西来允许log4j2找到记录器。我试过各种命名的组合来弄对它,但我搞不清问题出在哪里。 我必须在每个类的记录器初始化中包含类名吗? 编辑:我需要包含包名。我花了一
问题内容: 我们在项目中使用LogBack,我想根据一些数据库值配置logger,即如果某个DB值设置为true,则logger应该同时使用文件和数据库附加程序,如果为false,则logger必须仅使用DB附加程序, 我也想保留使用静态最终记录器,因此不会在每次调用记录器时都创建一个新实例, 那我该怎么做呢? 问候, 问题答案: 您应该按照本示例中的说明以编程方式配置Logback 。
我想让一些记录器异步在log4j2.properties文件。在xml格式中,您可以添加为 我在log4j2中试过了。作为记录器的属性=com foo Bar 但这种语法似乎是错误的。 正确的配置方法是什么?
是的,我已经阅读了所有相关的问题。我正在使用log4j2(尝试了2.4版和更新到最新的2.6.2版)。 我有一个面向客户的小型实用程序。我渴望将暴露的配置保持在最低限度。但对于有问题的情况,我还想添加一个标志,以便在运行时启用调试日志。 这是我启用调试日志记录的代码 但它实际上并不适用于这些情况: 实用程序通常在30秒内完成,因此更改应该是即时的。这是log4j2。xml 使用AppenderRe
我正在使用log4j在我的一个应用程序上做一些日志记录。我的配置文件中的日志记录程序如下所示。 基本上,我希望从我写的代码中获得“信息”级别的消息,但是我希望外部库只在有警告或更可怕的情况下记录。 这正如我所期望的那样工作,但是在“org.eclipse.jetty”下有很多类 有可能这样做吗? 也就是说,我希望整个包中的所有内容都只警告/错误/致命。 我试了上述方法,但没有效果。是否有一个“通配
我找了很长时间,所以在标记为重复之前,请务必阅读。 我有一个函数(),它是用一个参数调用的。我想将该id作为前缀添加到每个日志消息中。每次调用函数时,它都会更改。因此,我想更新记录器模式,将此id添加为前缀。 我读过: 如何配置 如何重新配置 SO和log4j论坛上的许多帖子都在讨论如何在运行时更改配置。它们要么过时,要么根本不起作用。 以下代码基于 log4j2 文档。它打印: 如果我注释掉行然