java - JsonFormatter 日志记录 (Quarkus) 上的自定义键值
问题描述
我想知道是否有任何方法可以使用库 org.jboss.logging.Logger 创建我的自定义键值 json 日志记录。我有这个方法:
void onStart(@Observes StartupEvent ev) {
ArrayList<Handler> handlers = new ArrayList(2);
Formatter formatter = new JsonFormatter();
ConsoleHandler handler = new ConsoleHandler(formatter);
handler.setLevel(Level.INFO);
handlers.add(handler);
InitialConfigurator.DELAYED_HANDLER.setHandlers((Handler[]) handlers.toArray(EmbeddedConfigurator.NO_HANDLERS));
LOGGER.info("The application is starting...");
}
那打印:
{
"timestamp": "2020-10-25T12:49:35.948+01:00",
"sequence": 2346,
"loggerClassName": "org.jboss.logging.Logger",
"loggerName": "ListenerBean",
"level": "INFO",
"message": "The application is starting...",
"threadName": "Quarkus Main Thread",
"threadId": 75,
"mdc": {
},
"ndc": "",
"hostName": "les007817",
"processName": "callmenow-dev.jar",
"processId": 466416
}
我需要在此日志中再添加两个键值(“键:”值“)。我怎样才能做到这一点。
(我正在使用Quarkus。我知道有库可以做到这一点,但我需要手动方式)
谢谢。
解决方案
由于您使用的是 Quarkus,您可以使用 Quarkiverse Logging Json 扩展:https ://github.com/quarkiverse/quarkiverse-logging-json 。它为此提供了支持。
推荐阅读
- azure - 可以用作 AKS 节点的最便宜的 VM 是什么?
- maven - 无法在 jgitflow 上将工件部署到 nexus:从竹子中释放完成
- c# - 由于 Visual Studio 中的 unhandler 错误,计算机崩溃
- c# - 在类库中预编译 Razor 视图
- macos - 如何在 Sublime Text 3 中定义“上一个文件”和“下一个文件”快捷键?
- c# - docker: c# 如何通过 webapi 运行 selenium
- asp.net-identity - 将自定义值添加到令牌交换路由结果
- sql - 匹配四列作为完成左外连接的条件
- r - 在 ReactiveValues 中插入反应值
- php - 达到最大值时隐藏按钮:Jquery