首页 > 解决方案 > ToString 方法 print String Objcet like Char 数组

问题描述

我正在尝试登录到肥皂请求,如果我的输入只是一个字符串对象,ReflectionToStringBuilder 会构建一个日志,其中我的对象按字符分割。奇怪的是,如果我在一个对象中有一个字符串,它就会很好地记录下来。如何解决这个问题?

java方法中的代码,c是要记录的单个对象:

  ToStringStyle style = new RecursiveToStringStyle();
  style = new MultilineRecursiveToStringStyle();
  logClass.append(ReflectionToStringBuilder.toString(c,style.MULTI_LINE_STYLE));    

肥皂请求示例:

  <v12:serviceName>
     <v12:cod1>05034</v12:cod1>
     <v12:obj>
        <v13:objName>GOOGLE</v13:objName>
        <v13:objCode>123456789</v13:objCode>
     </v12:obj>
  </v12:serviceName>

日志结果:

  2019-04-08 15:54:49,237 INFO  [null] - serviceName - INPUT:
  java.lang.String@ebbb509[
    value={0,5,0,3,4}
    hash=45955692
  ]
   obj@183ef29d[
   objName=GOOGLE
   objCode=123456789
  ]

预期的日志结果:

  2019-04-08 15:54:49,237 INFO  [null] - serviceName - INPUT:
  java.lang.String@ebbb509[
    value=05034
    hash=45955692
  ]
   obj@183ef29d[
   objName=GOOGLE
   objCode=123456789
  ]

标签: javaloggingapache-commons-lang3

解决方案


推荐阅读