重写toString方法-日志


在项目中会使用log4j来记录日志,例如外围系统传参数过来(这里特指对象),

线上环境调查问题的时候查日志,就需要知道到底传过来的每个值是什么,

那么就会有以下的写法:

if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("外围系统传参为:objParam:" + objParam);
        }


这里的话就需要在objParam实体类里面重写toString()方法:

import org.apache.commons.lang.builder.ToStringBuilder;

@Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }


显示结果:

外围系统传参为:objParam:com.xx.xx.service.external.impl.xx.facade.request.ReqParams@76e5f3d2[TranAbbr=<null>,MercCode=<null>,MercDtTm=<null>,TransType=<null>,VirAcctFlag=<null>,SubMerId=<null>,SubMerName=<null>,AcctNo=abc001,MobileNo=<null>,SubMerType=<null>,IdType=<null>,IdNo=<null>,MercUrl=<null>,Remark1=<null>,Remark2=<null>,Remark3=<null>,list=[1, 2]]


当对象中包含对象的情况,被包含的对象同样重写toString方法即可!


relectionToString()将利用Java Refelection机制显示类实例的所有属性的信息.



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值