首页 > 解决方案 > 记录器参数变成了一个数组对象

问题描述

我在将 var args 传递给 Logger 时遇到问题。

我传递给 Logger 的字符串消息类似于:

String message = "[{}] [{}] - This is a message from {} to {}"

我将参数传递给 Logger:

Logger.info(message, hostAddress, username, earth, mar);

上面的输出是:[0.0.0.1] [admin] - This is a message from Earth to Mar

但我不想每次都将hostAddressand传递给 Logger,所以我的想法是缩短它,自动传递and :usernamehostAddressusername

public void logMessage(String message, Object... args) {
     Logger.info(message, getHostAddress(), getUsername(), args);
}

使用者:

logMessage(message, earth, mar);

但输出将是:[0.0.0.1] [admin] - This is a message from [Earth,Mar] to

不像我预期的那样: [0.0.0.1] [admin] - This is a message from Earth to Mar

var args 变成了一个数组对象,

我该如何解决上述问题?

谢谢!

标签: javalogback

解决方案


推荐阅读