江苏省住房与城乡建设厅网站wordpress 少儿
news/
2025/9/24 3:01:23/
文章来源:
江苏省住房与城乡建设厅网站,wordpress 少儿,为什么做视频网站违法,贵阳网站建设设计公司哪家好当我和一位同事坐在一起解决一些应用程序问题时#xff0c;一切都开始了#xff0c;当时我注意到了一些有趣的事情。 他正在合并代码#xff0c;我的眼睛吸引了此类“ org.apache.log4j.MDC”的注意。 这导致了以下发现#xff1a; 什么是MDC#xff1f; MDC代表“ 映射诊… 当我和一位同事坐在一起解决一些应用程序问题时一切都开始了当时我注意到了一些有趣的事情。 他正在合并代码我的眼睛吸引了此类“ org.apache.log4j.MDC”的注意。 这导致了以下发现 什么是MDC MDC代表“ 映射诊断上下文” 。 它可以帮助您从多个来源中区分出交织日志。 让我详细解释。 当给定的servlet有多个用户请求时将使用线程为用户的每个请求服务。 这使多个用户登录到相同的日志文件和日志 语句混杂在一起。 现在要过滤出特定用户的日志我们需要将用户ID附加到日志语句中以便我们可以在日志文件中grepsearch它们以使其具有某种意义。 一种明显的日志记录方式是在日志语句中附加用户ID即log.infouserId “ logged something” 一种非侵入式的日志记录方式是使用MDC。 使用MDC您可以将用户ID放在一个上下文映射中该映射由记录器附加到每个用户请求的线程上。 MDC是线程安全的并且在内部使用Map来存储上下文信息。[ 礼貌Kalyan Dabburi ] 如何使用MDC 一个。 配置信息该信息需要作为ConversionPattern的一部分记录在log4j.xml中在这种情况下为user-id。 log4j.appender.consoleAppender.layout.ConversionPattern %d %i - %m - %X{user-id}%n b。 在您各自的类中在开始处理用户请求之前请将实际的用户ID放在contextMDC中。 MDC.put(user-id,SKRS786); C。 在处理结束时从MDC中删除上下文信息。 MDC.remove(user-id); 资源 登录执行 Log4J实施 使用MDC或NDC的哪一个 NDC代表嵌套诊断上下文 。 它是附加上下文信息的基于堆栈的实现。 出于所有目的请使用NDC之上的MDC因为MDC可以提高内存效率。 有关详细的比较 请单击此处 。 对于所有新的应用程序开发请使用logback 。 logback是SLF4J的运行时实现。 如果您具有Log4J的现有应用程序那么仍然值得切换到logback 。 有关详细说明 请单击此处 。 要了解Java和JEE世界中日志记录的发展请参阅Micheal Andrews的这篇文章 。 参考 Bemused博客上的JCG合作伙伴 Srinivas Ovn提供的Java / JEE有效登录 。 翻译自: https://www.javacodegeeks.com/2013/01/effective-logging-in-javajee-mapped-diagnostic-context.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914667.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!