2013-04-11 65 views
3

最近,我正在開發一個android應用程序。我的代碼中有很多Log.iLog.e如何將Logcat中的內容重定向到android上的文件?

當我通過USB連接到我的電腦上測試應用程序時,我可以獲得Logcat下的所有日誌。但是當我的手機沒有連接到我的電腦時,我不知道錯誤來自哪裏,因爲Log.*不會將日誌寫入文件。

誰能給我如何重定向Log.*到一個文件最小改變我的代碼一些建議嗎?非常感謝!

p.s.

我已經搜索瞭如何使用adb logcat將Logcat重定向到文件。任何人都可以告訴我如何過濾與我當前的應用程序相對應的日誌?

+1

檢查:http://stackoverflow.com/questions/8417389/how-can-i-access-logcat-file-on-device – 2013-04-11 02:41:44

回答

1

要保存的logcat登錄編程文件,您的設備使用例如下面的代碼:

String filePath = Environment.getExternalStorageDirectory() + "/logcat.txt"; 
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filePath, "MyAppTAG:V", "*:S"}); 

"MyAppTAG:V"設置所有的標籤爲詳細的優先級(最低優先級)

"*:S"將優先級設置爲所有標籤「無聲」

如果你想保存所有的logcat只是把「*:V」。

有關logcat的更多信息here

+0

我不太明白:你正在設置詳細,然後沉默。最後兩個論點有什麼區別? – dthree 2017-11-24 17:51:39

+0

@dree在本例中,我們將我們的應用程序標記(例如包名稱)設置爲詳細,並將所有其他日誌設置爲無聲以忽略它們 – yuralife 2017-11-24 19:31:05

+0

好的。我正在測試這個,看起來像是在更具體的過濾器可能會覆蓋該過濾器並使所有內容保持沉默之後放入'*:S'。把*:S'放在前面給我解決。 – dthree 2017-11-24 21:26:32

相關問題