【发布时间】:2015-12-03 00:11:04
【问题描述】:
我配置了 log4j,并在为线程创建日志文件的应用程序上对其进行了测试,但在它运行时我收到 log4j 警告,并且没有为线程创建日志文件。
log4j:WARN No appenders could be found for logger(com.amazonaws.internal.config.InternalConfig).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN
请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig 了解更多信息。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<properties>
<property name="logMsgPattern">%d{HH:mm:ss} %-5level - %msg%n</property>
<property name="logDir">logs</property><!-- ${sys:testLogDir} -->
</properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="${logMsgPattern}" />
</Console>
<Routing name="Routing">
<Routes pattern="$${ctx:threadId}">
<Route>
<RollingFile name="RollingFile-${ctx:threadId}"
fileName="${logDir}/${ctx:threadId}.log"
filePattern="${logDir}/%d{yyyy-MM-dd}/${ctx:threadId}-%d{yyyy-MM-dd}.log">
<PatternLayout pattern="${logMsgPattern}" />
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
</RollingFile>
</Route>
</Routes>
</Routing>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console" />
</Root>
<logger name="test" level="INFO" />
<Root level="INFO">
<AppenderRef ref="Console" />
<AppenderRef ref="Routing" />
</Root>
</Loggers>
</Configuration>
【问题讨论】:
-
你有read the log4j FAQ entry linked to吗?你的配置文件是什么样的?
-
我添加了配置文件@ThomasOwens
-
@ThomasOwens 是 (com.amazonaws.internal.config.InternalConfig) 需要任何附加程序吗?我在我的程序中使用 amazonaws 键
-
如果我在网上搜索我发现了这个jira.atlassian.com/browse/JRA-39500 但没有解决方案
-
您的配置文件在构建的应用程序中的位置,它的名称是什么?它需要位于类路径根目录中。