我是第一个问题的初学者。我想有方法允许快速记录许多参数,所以我想在日志行变量名称和值。 用法示例 - 我将我想要记录的内容作为参数:
fastLog(
animation.getAnimatedValue(),
animation.getDuration(),
animation.getInterpolator(),
animation.getListeners(),
animation.getRepeatCount()
);
下面这个方法给了我值,它可以工作,但是如何记录名称,例如" animation.getAnimatedValue()"价值观旁边?
private void fastLog(Object... obj) {
for(Object o : obj) {
String s = String.valueOf(o);
Log.d("FastLog", s);
}
}
结果将是:
Fastlog 1000 animation.getAnimatedValue()
(...)
答案 0 :(得分:0)
也许是这样的
private void fastLog(Object... obj) {
String log = "";
for(Object o : obj) {
log += o + " ";
}
Log.d("FastLog", log);
}
用法:
fastLog("Value1", value1, "value2", value2);
答案 1 :(得分:0)
该设置无法实现。将参数更改为:
private final static Logger LOG
= Logger.getLogger(MyClass.class.getName());
private void fastLog(Map<String, Object> log) {
for(Entry <String, Object> o : log) {
LOG.info("FastLog {0}:{1}", new Object[]{o.getKey(), o.getValue()});
}
}
我不清楚你对logger使用了什么,上面的代码使用java.util.logging.Logger。
答案 2 :(得分:0)
例如,您可以创建对Pair<Object, String>
或SimpleMapEntry<>
- 并将它们作为args而不仅仅是对象提供。将所需的方法名称放在second
,然后您可以使用String.format()