2016-01-25 28 views
1

不記錄在我的build.gradle中,logcat的是可見的,當SLF4J的Android 1.7 +上的logcat

debugCompile 'org.slf4j:slf4j-android:1.6.1-RC1' 

然而,當版本更新,有logcat的

debugCompile 'org.slf4j:slf4j-android:1.7.14' 

我堅持與1.6.1-RC1版本。爲什麼SLF4J-的Android的新版本:1.7.x未在logcat的記錄?

我使用SLF4J在這樣的代碼

private static final Logger LOG = org.slf4j.LoggerFactory.getLogger(TAG); 
LOG.debug("variable = {}", var); 

參考

http://www.slf4j.org/android/

http://www.slf4j.org/news.html(更新日誌)

回答

1

http://jira.qos.ch/browse/SLF4J-314給我的答覆的另一種實現。

要查看 「SLF4J-機器人:1.7.x」 的日誌,使用的是Android setprop是官方的做法。 這種方法的缺點是,你必須選擇標籤,但不能顯示所有日誌。例如在logcat的:

app_package D/TAG1: blabla 
app_package D/TAG2: lorem ipsum 

在終端中,輸入

adb shell setprop log.tag.TAG1 VERBOSE 

我將只顯示TAG1和無其他的TAG。我想知道是否可以打印所有其他標籤。

現在,我想我會堅持使用1.6.1-RC1版本

0

我只是看着source code of AndroidLoggerAdapter.java代碼1.7 +現在在每l之前使用if isLoggable(priority) ogging語句,而1.6。+只是記錄沒有問。

這是一個Android的默認功能, if (Log.isLoggable("MY_TAG", Log.VERBOSE))總是返回假,而 Log.v("MY_TAG", "Here's a log message")仍然有效

這就解釋了爲什麼org.slf4j:SLF4J-機器人:1.7.14不工作了。

也許這有助於應對新的版本:Android logging levels

我使用http://github.com/lp0/slf4j-android使用一個配置文件來啓用/禁用的配置設置