log4j是程序中经常使用的日志工具,分为5个级别:log4j的级别

今天的问题:打印参数个数为3个及以上时,如何处理?
直接按部就班会出现:
 

 logger.info("tryGetCustomerByJdPinAndDepartNo---入参 jdPin:{},departNo:{},init;{}", jdPin, departNo,JSON.toJSONString(init));

报错信息:

原因:

找到源码:Logger.class

infod 的方法结构,如图:

    void info(String var1);

    void info(String var1, Object var2);

    void info(String var1, Object var2, Object var3);

    void info(String var1, Object[] var2);

    void info(String var1, Throwable var2);

    boolean isInfoEnabled(Marker var1);

    void info(Marker var1, String var2);

    void info(Marker var1, String var2, Object var3);

    void info(Marker var1, String var2, Object var3, Object var4);

    void info(Marker var1, String var2, Object[] var3);

    void info(Marker var1, String var2, Throwable var3);

  结论:3个以及以上参数时候,需要使用另一个方法:

即:构造一个对象数组即可

logger.info("tryGetCustomerByJdPinAndDepartNo---入参 jdPin:{},departNo:{},init;{}", new String[] {jdPin, departNo,JSON.toJSONString(init)});

 

posted on 2019-11-05 17:55  vow007  阅读(15)  评论(0编辑  收藏  举报  来源