我有以下代码:
private static final Logger logger = LoggerFactory.getLogger(Some.class);
...
String[] splits=someString.split("..");
logger.info("The string was split into <{}>",splits); // prints first element
Run Code Online (Sandbox Code Playgroud)
使用slf4j打印数组的完整内容的正确方法是什么?
Tun*_*aki 27
问题是使用以下代码
logger.info("The string was split into <{}>", splits);
Run Code Online (Sandbox Code Playgroud)
你正在调用该方法info(String format, Object... arguments).请注意,最后一个参数是varargs.因此,您传递的数组将被解释为变量参数的每个参数.
但是,在这种情况下,您希望将数组作为第一个参数传递.一个简单的解决方法是将其转换为Object.
String[] splits = { "foo", "bar" };
logger.info("The string was split into {}", (Object) splits);
Run Code Online (Sandbox Code Playgroud)
将按The string was split into [foo, bar]预期记录.
| 归档时间: |
|
| 查看次数: |
4701 次 |
| 最近记录: |