如何将 LoggingEvent 类与 log4j 2.2 一起使用
我想从 Log4j 1.x 迁移到 Log4j 2.x。所以我试图使用这里提到的。我的应用程序具有 的实现,但我找不到将 LoggingEvent 与 log4j 2.x api 桥接一起使用的方法。无论如何,我可以将LogingEvent与log4j 2.2一起使用吗?log4j-1.2-api.jar
org.apache.log4j.spi.LoggingEvent
谢谢。
我想从 Log4j 1.x 迁移到 Log4j 2.x。所以我试图使用这里提到的。我的应用程序具有 的实现,但我找不到将 LoggingEvent 与 log4j 2.x api 桥接一起使用的方法。无论如何,我可以将LogingEvent与log4j 2.2一起使用吗?log4j-1.2-api.jar
org.apache.log4j.spi.LoggingEvent
谢谢。
在升级Log4j时,我只是使用LogEvent而不是LogingEvent。
我删除了 AppenderSkeleton,并用 AbstractAppender 取而代之。的方法出现在 中,这是我用来代替 的提示。AppenderSkeleton
append(LoggingEvent event)
AbstractAppender
append(LogEvent event)
LogEvent
LoggingEvent
在内部,log4j使用LogEvent将所有数据片段(日志消息,线程名称,时间戳,标记,记录器名称等)传送到附加器,它们可能出现在输出中。
Log4j 日志事件仅供内部使用而设计,不设计为由应用程序扩展。例如,异步记录器使用 LogEvent 接口的专用实现来满足底层 LMAX Disruptor 库的要求。扩展这一点并不容易。
我的不清楚您的用例,但是例如,如果您想要开发一个自定义追加器,该追加器需要 LogEvent 接口中不存在的自定义数据,则可以考虑使用 ThreadContext 映射将数据从您的应用程序传递到自定义追加器,而不是尝试使用自定义日志事件。