Java NDC日志是什么?我们如何在应用程序中使用它?它的意义是什么
NDC日志是什么,我们如何在应用程序中使用它,它的意义是什么…NDC代表“嵌套诊断上下文”,它是log4j的一个功能。log4j最常见的用法是只记录东西,而不显示它是什么客户端请求的一部分,结果是,当您的应用程序在生产环境中运行时,所有请求的所有日志消息都在日志文件中混杂在一起,并告诉谁做了不可能的事情。NDC允许您将日志消息标记为属于特定客户端,这样您就可以区分谁在做什么,而无需为每个客户端使用单独的记录器。嵌套的诊断上下文是线程特有的 常见用途是记录每个会话的信息(如果会话使用一个线程),因此您可以记录原始客户端、用户名等以及其他横切属性,而无需:Java NDC日志是什么?我们如何在应用程序中使用它?它的意义是什么,java,struts,Java,Struts,NDC日志是什么,我们如何在应用程序中使用它,它的意义是什么…NDC代表“嵌套诊断上下文”,它是log4j的一个功能。log4j最常见的用法是只记录东西,而不显示它是什么客户端请求的一部分,结果是,当您的应用程序在生产环境中运行时,所有请求的所有日志消息都在日志文件中混杂在一起,并告诉谁做了不可能的事情。NDC允许您将日志消息标记为属于特定客户端,这样您就可以区分谁在做什么,而无需为每个客户端使用单独的记录器。嵌套的诊断上下文是线程特有的 常见用途是记录每个会话的信息(如果会话使用一个线程),因
模式布局
配置得当,Log4j将输出NDCpush
一个参数,该参数将显示在线程发出的每个后续日志行中,直到pop
ped为止
如果您需要类似以下日志的日志,则此选项非常有用:
[request=x] a
[request=y] a
[request=x] b
[request=x] c
[request=y] b
[request=x] d
[request=y] c
[request=y] d
(免责声明:我不记得确切的格式)
只使用a、b、c、d
很难理解哪个线程做什么。如果动态地推送
和弹出
请求id,则更容易遵循。也可以用于其他类型的上下文信息