我在我的Android应用程序中使用slf4j-android。
该文档说,如果我写log.trace
,那么它与我写Log.v
的几乎相同。
但是默认的日志记录级别似乎是INFO,而logcat只显示log.info
及以上,我无法看到如何更改默认值。
1)如何配置slf4j-android
2)如果我不能:还有其他适用于Android的slf4j实现,更可配置
答案 0 :(得分:0)
例如,如果您的代码是MyClass
,请在命令行中输入
adb shell setprop log.tag.MyClass DEBUG
我找到的方法是这个程序 查找记录器slf4j-android source here
你应该看到所有方法都以if(isLoggable(...))开头,后者依次调用android.util.Log isLoggable,可以在opengrok上找到
此方法的说明解释了如何设置适当的属性。
请注意,slf4j-android会重命名更长的标签,WiFiDirectBroadcastReceiver
将更改为*directBroadcastReceiver
。
据我所知,你不能在setprop调用中使用*,所以你需要仔细管理你的标签。
答案 1 :(得分:0)
这是一种痛苦,但我不会放弃slf4j
。这就是我最终做的事情:
public class MyActivity extends AppCompatActivity {
private final Logger LOGGER = org.slf4j.LoggerFactory.getLogger(this.getClass().getName());
...
}
#!/bin/sh
# Add as many lines as needed to set the logging for
# all the activities in your app
adb shell setprop log.tag.MyActivity "$1"
Terminal
中的Android Studio
视图,然后运行脚本:$ sh adb-setloglevel VERBOSE