热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MDCself4jlog4j,mdc设置的值无法打印出来,求问为什么?

问题:我的日志打印结果是这样的:[main]INFOTest-接口入参===

问题:
我的日志打印结果是这样的:
[main] INFO Test - 接口入参===



我想得到一个类似于这样的日志:f9e287fad9e84cff8b2c2f2ed92adbe6[main] INFO Test - 接口入参===

1.我的测试类
import org.apache.log4j.MDC;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;



public class Test {

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static Logger logger = LoggerFactory.getLogger(Test.class);



public static void main(String[] args) {

    MDC.clear();

    MDC.put("logid", "f9e287fad9e84cff8b2c2f2ed92adbe6");

    MDC.put("merchant_id", 1);

    MDC.put("siteName", "北京");

    MDC.put("userName", "userwyh");



    MDC.put("mobile", "110");



    MDC.put("mchId", 12);

    MDC.put("mchName", "商户名称");



    logger.info("接口入参===");



}

2.我的log4j配置文件:

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.COnversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n

log4j.logger.com.rong360.crawler=info,console,info,warn,error,fatal
logging.path=e:/logs/crawler-meituan/logs

log4j.appender.cOnsole=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.COnversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%p] [%l] [%t:%r] [%X{logid}] [%X{ip}] [%X{uri}] [%X{merchant_id}] [%X{user_id}] %m%n
log4j.appender.console.Threshold=INFO

log4j.appender.debug=com.rong360.crawler.log4j.Rong360DailyRollingFileAppender
log4j.appender.debug.layout=org.apache.log4j.PatternLayout
log4j.appender.debug.layout.COnversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%p] [%l] [%t:%r] [%X{logid}] [%X{ip}] [%X{uri}] [%X{merchant_id}] [%X{user_id}] %m%n
log4j.appender.debug.Threshold = DEBUG
log4j.appender.debug.append=true
log4j.appender.debug.File=debug.log

log4j.appender.info=com.rong360.crawler.log4j.Rong360DailyRollingFileAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.append=true
log4j.appender.info.layout.COnversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%p] [%l] [%t:%r] [%X{logid}] [%X{ip}] [%X{uri}] [%X{merchant_id}] [%X{user_id}] %m%n
log4j.appender.info.Threshold = INFO
log4j.appender.info.File=info.log

log4j.appender.warn=com.rong360.crawler.log4j.Rong360DailyRollingFileAppender
log4j.appender.warn.layout=org.apache.log4j.PatternLayout
log4j.appender.warn.layout.COnversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%p] [%l] [%t:%r] [%X{logid}] [%X{ip}] [%X{uri}] [%X{merchant_id}] [%X{user_id}] %m%n
log4j.appender.warn.Threshold = WARN
log4j.appender.warn.append=true
log4j.appender.warn.File=warn.log

log4j.appender.error=com.rong360.crawler.log4j.Rong360DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout
log4j.appender.error.layout.COnversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%p] [%l] [%t:%r] [%X{logid}] [%X{ip}] [%X{uri}] [%X{merchant_id}] [%X{user_id}] %m%n
log4j.appender.error.Threshold = ERROR
log4j.appender.error.append=true
log4j.appender.error.File=error.log

log4j.appender.fatal=com.rong360.crawler.log4j.Rong360DailyRollingFileAppender
log4j.appender.fatal.layout=org.apache.log4j.PatternLayout
log4j.appender.fatal.layout.COnversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%p] [%l] [%t:%r] [%X{logid}] [%X{ip}] [%X{uri}] [%X{merchant_id}] [%X{user_id}] %m%n
log4j.appender.fatal.Threshold = FATAL
log4j.appender.fatal.append=true
log4j.appender.fatal.File=fatal.log


   



推荐阅读
  • 学习mybatis的基础知识:mybatis入门教程(二)
    2019独角兽企业重金招聘Python工程师标准2.3MyBatisprintsql在log4j.properties配置文件中添加如下配置,让mybatis打 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了如何使用elementui分页组件进行分页功能的改写,只需一行代码即可调用。通过封装分页组件,避免在每个页面都写跳转请求的重复代码。详细的代码示例和使用方法在正文中给出。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了如何在Mac上使用Pillow库加载不同于默认字体和大小的字体,并提供了一个简单的示例代码。通过该示例,读者可以了解如何在Python中使用Pillow库来写入不同字体的文本。同时,本文也解决了在Mac上使用Pillow库加载字体时可能遇到的问题。读者可以根据本文提供的示例代码,轻松实现在Mac上使用Pillow库加载不同字体的功能。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • P113:集成日志组件 logback 2彩色日志
    第二步,将控制台的日志改成彩色日志,便于查看修改logback.xml文件。 ... [详细]
  • JZOJ 1266. 玉米田
    1266.玉米田(cowfood.pasccpp)(FileIO):input:cowfood.inoutput:cowfood.outTimeLimits:1000msMemor ... [详细]
  • 为什么即使Linux服务器的socket关闭,客户端仍能调用一次send函数?
    要弄清这个问题,首先需要知道调用send()发送数据时,发生了什么。当调用send()发送数据时,并不是直接将数据发送到网络中,而是先将待发送的数据放到socket发送缓冲区中,然 ... [详细]
  • 线上问题:JavaBean赋值基础类型抛出异常
    1问题复现1.1问题实体(JavaBean规范)赋值时,抛出异常。1.2原因使用基础类型定义属性,当使用null给属 ... [详细]
author-avatar
fionafongkaian
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有