- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在log4j2的JsonLayout生成的json日志中添加MDC变量。我已经使用 KeyValuePair 标记将主机名等属性添加到日志中,但我没有找到任何方法将 MDC 变量添加到其中。在模式布局中,我使用了 %X{traceId} 但我确信 JsonLayout 无法解析这些转换字符(据我所知,转换字符仅用于模式布局)。我进入了 JsonLayout 的源代码,但没有找到实际上将所有数据放入日志消息的函数。
谢谢你。
最佳答案
您正在寻找的是 log4j2 lookup .听起来您对 Context Map Lookup 特别感兴趣正如你提到的 MDC(顺便说一下,它现在在 log4j2 中被称为 ThreadContext
)。
这是一个简单的例子:
package example;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.ThreadContext;
public class ThreadContextExample {
private static final Logger log = LogManager.getLogger();
public static void main(String[] args) {
ThreadContext.put("myKey", "myValue");
log.info("Here's a message!");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<JsonLayout compact="false" eventEol="false" stacktraceAsString="true">
<KeyValuePair key="myJsonKey" value="${ctx:myKey}"/>
</JsonLayout>
</Console>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
{
"thread" : "main",
"level" : "INFO",
"loggerName" : "example.ThreadContextExample",
"message" : "Here's a message!",
...
"myJsonKey" : "myValue"
}
关于spring-boot - 在 JsonLayout 中添加 MDC 变量 - log4j2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52446595/
我目前正在使用“手动实例化”方法,效果很好。 我注意到“自动实例化”方法,但无法使其工作。 使用这种方法到底需要什么? 当我使用代码时: mdc.tabs.MDCTabBar.attachTo(doc
请问有关使用 Java 的 MDC 的小问题。 起初,我有非常简单的方法,一些方法有很多参数(为了这个问题我缩短了参数列表以保持简短,但请想象很多参数) public String invokeMe
我正在尝试使用 mdc 网络组件实现自动完成输入。我有一个菜单选择事件监听器,我想在其中停用文本字段上的焦点。我已经尝试使用 MDCTextFieldFoundation deactivateFocu
在我的 Head 标签中包含以下内容 :root { --mdc-theme-primary: #64ba69; --mdc-theme--primary-light: #96ed98; --mdc
我正在尝试在 lit 元素中使用 mdc-component(比如 mdc-textfield)。看起来我必须将 css 和 js 文件都导入到元素中。 我不确定如何将 css 导入到 lit-ele
我使用 MDC-Web 组件。我以编程方式打开和关闭对话框,但有时它不会关闭。我不知道我是否以正确的方式关闭对话框。 closeDialog('dialog_gui'); function close
所以,我正在使用 AngularCLI 和 Angular-MDC,我想使用 styles.scss 的第二种颜色。现场有https://trimox.github.io/angular-mdc-we
到目前为止,MDC Web Components 的表现不错,但我在这里停滞的时间太长了。 (JS不强) mdc-select 以前是非原生的,然后是原生的 HTML select,现在又是非原生的。
我知道MDC是由Log4j提供的,用于将相关日志消息分组在一起,以便于调试。 但是,MDC 只能用于此目的吗?如果我使用 MDC 在执行线程中保存小型业务信息,这是否被认为是一种不好的做法? ? 最佳
我希望每个应用程序都有一个单独的日志文件,同时只使用一个 logback.xml 文件。因此我使用的是 SiftingAppender . 每个应用程序都有自己的 WebApplicationInit
Material 设计对话框 guidelines不解决平板电脑或桌面大小视口(viewport)上的对话框宽度。我在某处读到应该使用 56px 的增量,但不知道这是否是共识。 我的对话框需要的 HT
在尝试实现网格布局时,当我提供特定于设备的单元格跨度值时,例如“mdc-layout-grid__cell--span-4-phone mdc-layout-grid__cell--span-6-de
目录 1. 为什么需要这个traceId 2.通过MDC设置traceId 2.1 使用filter过滤器设置traceId 2.2
我们使用 SLF4J(使用 log4j)作为我们的日志框架。我们正在尝试利用 Log4j 支持的在线文档的 MDC 功能。 使用 SLF4J 时 MDC 不起作用。但是,当使用 log4j 时,它工作
如何在不使用 SASS mixins 的情况下更改 MDC 按钮的容器颜色,如 here 所述.指定的实际等效 CSS 是什么? 我尝试了以下方法: .mdc-button:after, .mdc-b
import React, { Component } from "react"; import { MDCTextfield, MDCTextfieldFoundation } from "@mat
我们正在使用 MDC 菜单组件。我正在寻找一种在单击菜单中的第一项时不关闭菜单的方法。 我尝试将一个类应用到 mdc-list-item 并将光标指定为自动,但它不起作用。 .menu-do-not-
我为此搜索了谷歌,查看了多项建议,但似乎无济于事。 我有一个使用 MDC 的 JAX-RS 应用程序,当一个端点被命中时设置一个 transactionId 以使调试更容易。但是,当我停止或重新启动
我必须接管一个包含多个层、服务和组件的巨型整体。 当我浏览代码时,我首先意识到的是 MDC 的使用. 一些例子: public void setContextOrderId(String orderI
我正在尝试记录在我的 JSF 应用程序中发起每个请求的用户名,但显然 MDC on a web app server (thread pool) is risky . 在使用 EJB @Asynchr
我是一名优秀的程序员,十分优秀!