【问题标题】:Log4j FileAppender not working on jboss7Log4j FileAppender 在 jboss7 上不起作用
【发布时间】:2017-02-07 05:56:50
【问题描述】:

我正在尝试使用 log4j 将信息记录到文件中。我的 log4j 位于 src/main/resources/SIXSFD,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">

  <appender name="SYNC-PERFORMANCE" class="org.apache.log4j.FileAppender">
    <param name="File" value="/Users/dcalderon/Desktop/log/sixsfd-bof" />
    <layout class="org.apache.log4j.SimpleLayout">
    </layout>
  </appender>

  <logger name="com.somepackage.PerformanceLoggerInterceptor" additivity="false">
    <appender-ref ref="SYNC-PERFORMANCE" />
  </logger>
</log4j:configuration>

如您所见,我正在尝试将 com.somepackage.PerformanceLoggerInterceptor 类中的所有信息记录到 /Users/dcalderon/Desktop/log/sixsfd-bof .这是类的样子:

package com.somepackage.interceptor;

import org.apache.log4j.Logger;

import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;
import java.io.Serializable;

public class PerformanceLoggerInterceptor implements Serializable {
    private static final Logger logger = Logger.getLogger(PerformanceLoggerInterceptor.class);
    private static final String SIMPLE_FORMAT = "{}|{}|{}|{}";

    @AroundInvoke
    public Object logPerformance(InvocationContext invocationContext) throws Exception {
      long startTime = System.currentTimeMillis();
      Object returnValue = invocationContext.proceed();
      long endTime = System.currentTimeMillis();
      logger.error(SIMPLE_FORMAT);
      return returnValue;
    }
}

但由于某种原因,正在创建文件,但 SIMPLE_FORMAT 行没有被写入文件。尽管如此,它正在 jboss server.log 上记录

我的配置有问题吗?

注意: 出于某种原因,我在部署 (jboss7) 时在 jboss 上得到了这个:

log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.

我不知道这有多重要。

【问题讨论】:

    标签: logging log4j jboss7.x


    【解决方案1】:

    对于 JBoss AS 7,您需要 exclude log4j 并包含您自己的版本。您还需要确保它最终位于您的 WAR/WEB-INF/classes 目录中,因此它最终位于类路径中。

    【讨论】:

    • 是的,我错过了那个 jboss-deployment-structure 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多