我们正在开发相当大的服务器应用程序。每个动作都由日志跟踪。调用 toString 方法的日志很多。不幸的是,我们需要其中的大部分,另一方面,我们无法跟踪 prod 上发生的情况。尝试改进 toString 方法有意义吗?例如,将 toString 的结果放入内存中,如果某些字段被更新,则更新。
example of my toString
public classs InMessage{
//declared 20+ fields
@Override
public String toString() {
StringBuilder builder = new StringBuilder(this.getClass().getSimpleName());
builder.append(": [");
builder.append(super.toString());
builder.append("; updateTime: ");
builder.append(updateTime);
//forexample 20 fields here
builder.append(";]");
return builder.toString();
}}
then we process InMessage in some way and log each action
log.debug("We received inMessage: {}", inMessage);
经过这次讨论,我们决定尽可能减少日志数量,仅此而已。