在log4j2中创建自定义appender的首选方法是什么?

时间:2014-05-05 03:13:24

标签: java logging configuration log4j log4j2

log4j2 documentation显示了生成自定义组件(例如appender,过滤器和查找)的首选方法。但是,目前还不清楚如何确保这些自定义组件被日志记录框架选取并可用于日志记录配置。

在类路径中放置带有正确注释的自定义appender之后,我还需要做些什么才能将其包含在我的log4j2.xml文件中并让它被日志记录框架选中?

举一个这样的例子,如果我使用:

注释一个custon appender
@Plugin(name = "Stub", category = "Core", elementType = "appender", printObject = true)

如何在log4j2.xml配置中选择并使用它:

    ...
    <Appenders>
      <Stub name="stub">
      ...
      </Stub>
      ...
    </Appenders>
    ...

2 个答案:

答案 0 :(得分:1)

您需要将包名称(或多个逗号分隔列表中的名称)放在log4j2.xml的packages元素的Configuration属性中。

E.g。

<Configuration status="trace" packages="com.mycomp.myproject.appenders">
...

有关详细信息,请参阅Log4j2 Configuration Documentation

答案 1 :(得分:1)

我还不能发表评论,所以我写这个作为答案。

不再支持packages元素中的

configuration属性(自版本2.0-rc2起),请参阅以下答案:https://stackoverflow.com/a/24931395/3145863

它应该包含在log4j(https://issues.apache.org/jira/browse/LOG4J2-741

的2.0.1版本中

目前,我建议您使用Maven来构建项目。