我已经使用了<authentication mode="Forms">
<forms loginUrl="~/AuthServices/SignIn"></forms>
</authentication>
很长一段时间并且在类路径上它运行良好。但现在我决定用log4j2
将其移至VM options
,这是一场灾难。有数天的WARN,最后它给了我-Dlog4j.configuration=
将其移出项目并在IDEA注入No log4j2 configuration file found.
VM选项会有什么变化?
log4j2.xml
log4j2.xml
log4j:WARN Continuable parsing error 2 and column 30
log4j:WARN Document root element "configuration", must match DOCTYPE root "null".
log4j:WARN Continuable parsing error 2 and column 30
log4j:WARN Document is invalid: no grammar found.
log4j:WARN The <configuration> element has been deprecated.
log4j:WARN Use the <log4j:configuration> element instead.
log4j:WARN Unrecognized element appenders
log4j:WARN Unrecognized element Loggers
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
答案 0 :(得分:2)
-Dlog4j.configuration
是一个Log4j 1.2属性。在Log4j 2中,您可以使用-Dlog4j.configurationFile
属性指定配置文件的位置。
log4j:WARN
输出行由 Log4j-1.2 生成。这个不好。请确保从类路径中删除了log4j-1.2.x.jar。 (使用log4j-1.2-api适配器将使用Log4j 1.2 API的调用路由到Log4j 2实现。)
有一个Log4j 2状态记录器警告:ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console
:如果未指定log4j.configurationFile
,则Log4j 2会尝试在类路径中查找配置文件。如果没有找到它将打印此错误。您可以通过将配置文件移动到类路径中的目录,或通过使用-Dlog4j.configurationFile
属性指定配置文件的位置来解决此问题。
最后关于配置,com.ottercoder.service Logger有一个&#34; Journal&#34; AppenderRef,但没有具有该名称的appender在Appenders部分中定义。类似地,对于com.ottercoder.controller,Logger引用了一个不存在的&#34;错误&#34;附加目的地。在影响方面,Log4j 2将打印警告,否则将忽略此警告。