在内部,log4j使用LogEvent将所有数据段(日志消息,线程名称,时间戳,标记,记录器名称等)携带到可能出现在输出中的附加程序。
Log4j日志事件仅供内部使用,不能设计为由应用程序扩展。例如,异步记录器使用LogEvent接口的特殊实现来满足基础LMAX
Disruptor库的要求。扩展它并不容易。
您的用例对我来说并不明确,但是例如,如果您要开发一个自定义附加程序,而该附加程序需要LogEvent接口中不存在的自定义数据,则可以考虑使用ThreadContext映射将数据从您的应用传递到自定义附加程序而不是尝试使用自定义日志事件。



