【发布时间】:2017-01-06 19:26:03
【问题描述】:
我在 log4j2 中创建了一个自定义附加程序。在使用自定义附加程序时,我收到以下错误:“错误尝试附加到未启动的附加程序”。任何帮助表示赞赏。
【问题讨论】:
标签: java logging configuration log4j log4j2
我在 log4j2 中创建了一个自定义附加程序。在使用自定义附加程序时,我收到以下错误:“错误尝试附加到未启动的附加程序”。任何帮助表示赞赏。
【问题讨论】:
标签: java logging configuration log4j log4j2
Log4j 2 检查附加程序处于可用状态的每个日志事件。您看到的错误是 Log4j 检测到 appender 尚未准备好使用。
有些appender需要做准备才能使用。 start() 生命周期方法是 appender 可以进行初始化的地方。 Log4j 不会将事件路由到未处于 STARTED 状态的附加程序。
如果你的 appender 是通过配置添加的,Log4j 会调用生命周期方法。如果您的 appender 扩展了 AbstractAppender,这将更新状态并且应该足够了。否则,请查看 AbstractAppender 中的生命周期状态管理。
如果您在代码中配置,您可能需要显式调用 start()。
【讨论】:
start()。实现LifeCycle 的自定义插件可以实现此方法。 log4j 框架会调用 start 方法。
super.start()