由于log4j 1.x是end of life,因此我想在Log4j2中构建我的附加程序,但是网络上没有足够的资源或示例。此外,能够将其与Messages和custom log levels结合使用会很棒。
类似这样的东西:
private static final Logger logger = LogManager.getLogger();
logger.log(ACCESS_LOG, new AccessLogMessage("DateTime", "User", "IP", "Data"));
...
try {
...
}
catch(ArithmeticException ex) {
logger.log(EXCEPTION, new ExceptionMessage(ex));
}
一个简单的可将日志写入控制台的自定义附加程序就足以让我入门。
PS:我的最终目标是将结构化日志数据转换为json格式并将其发送到我的REST服务。
答案 0 :(得分:1)
已存在写入控制台的附加程序。它称为ConsoleAppender。如果您想以某种特殊的方式格式化数据,则可以创建一个自定义布局来实现。
Log4j提供了许多布局示例。最常见的用例是扩展AbstractStringLayout并实现toSerializable方法。