我在独立模式下使用jboss as 7。我在我的应用程序中使用 spring,当我运行我的应用程序时,我在服务器日志中收到以下错误:
17:40:19,669 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
17:40:19,671 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN Please initialize the log4j system properly.
所以我通过添加记录器来配置 jboss,如下所示:
<logger category="org.springframework.core.env.StandardEnvironment">
<level name="DEBUG"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
<handler name="TESTFILE"/>
</handlers>
</logger>
处理程序 CONSOLE 定义如下:
<console-handler name="CONSOLE" autoflush="true">
<level name="DEBUG"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</console-handler>
但即使这样做之后我仍然收到相同的错误,为什么?
缺少的部分是指示应用程序应该使用 jboss 的子系统
logging
作为(log4j),位于其目录 modules
中,更准确地说是在 org/apache/log4j
中。这是通过将文件 jboss-deployment-structure.xml
添加到包含以下内容的 WEB-INF 来完成的:
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.apache.log4j"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
你必须在你的配置中定义一个appender:
<appender name="springFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/spring.log" />
<param name="datePattern" value="yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{dd-MM-yyyy kk:mm:ss.SSS} %-5p %c %x - %m%n" />
</layout>
</appender>
然后从记录器引用它:
<logger name="org.springframework.beans" additivity="true">
<level value="info" />
<appender-ref ref="springFileAppender" />
</logger>
此配置将记录 Spring Beans 模块中的所有内容,并将 INFO 阈值记录在文件 ../logs/spring.log 中
编辑:我明白了,您正在将 log4J 与 JBOSS 一起使用!
然后你应该定义处理程序(就像我的示例中的附加程序)。
与此类似的东西:
<periodic-rotating-file-handler name="FILE">
<level name="DEBUG"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="false"/>
</periodic-rotating-file-handler>