❶ 如何抓取android logcat日誌
您好,很高興為您解答。
1,安裝sdk(參考android
sdk環境安裝)
2,使用數據線鏈接手機,在手機助手的sdcard中建立一個1.log的文件
3,程序運行cmd
4,輸入抓取命令:logcat
-s
'*:e'
>
/mmt/sdcard/1.log
5,使用手機崩潰一次
6,查看日誌抓取文件,分不清楚是那個時間段所造成的後果
7,加入命令:-v
time
就會顯示出時間
8,輸入命令logcat
-v
time
-s
'*:e'
>
/mmt/sdcard/1.log
9,查看結果
如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】
希望我的回答對您有所幫助,望採納!
~
o(∩_∩)o~
❷ Android logcat使用總結
輸出指定的ring buffer(s). 可選項如下:
多選使用『,』作為分隔符:
-b main,system,radio,events,crash,kernel
-d Dump the log and then exit (don't block).
mp出logcat後即退出,不阻塞。
--pid=<pid> Only print logs from the given pid.
指定輸出pid列印的logcat。
例如(只輸出system_server的列印):
logcat --pid= pidof system_server
-v指定輸出格式,可選的格式如下:
brief — Display priority/tag and PID of the process issuing the message.
例如:
D/WindowManager( 845): Receive Input KeyEvent of Powerkey up
process — Display PID only.
例如:
W( 356) Warning: Dispc cannot support 5 layer blending(0) (DPUMole
raw — Display the raw log message, with no other metadata fields.
例如:
Checking safeboot...
tag — Display the priority/tag only.
例如:
I/chatty : uid=1000(system) PowerController expire 22 lines
thread — Display priority, PID and TID of process issuing the message.
例如:
I( 845: 885) uid=1000(system) ActivityManager expire 8 lines
threadtime — Display the date, invocation time, priority, tag, and the PID
and TID of the thread issuing the message. (the default format).
例如:
04-15 10:34:11.352 587 1282 I chatty : uid=1000(system) watchdog expire 10 lines
time — Display the date, invocation time, priority/tag, and PID of the
process issuing the message.
例如:
04-15 12:43:42.509 V/FingerprintService( 845): mDaemon was null, reconnect to fingerprint
long — Display all metadata fields, separate messages with blank lines.
例如:
-v threadtime 是默認值:
另外,還可以額外添加修飾符:
例如(color,會以不同的顏色分別高亮不同優先順序的列印):
logcat -v tag,color
將logcat保存到本地。
如果長時間抓取logcat,一般推薦 -f -r -n 一起使用。
例如(保存到data/logcat.txt,每個文件最大2M,最多保存20個文件):
logcat -f data/logcat.txt -r 2048 -n 20
設置過濾器。
-s Set default filter to silent. Equivalent to filterspec '*:S'
slient,最高優先順序顯示。
使用正則表達式。
例如:
logcat -e ^check.+$
例如:
-g/-G 用於查看/修改ring buffer的大小。
❸ android logcat怎麼看
使用cmd命令查看logcat
使用adb logcat命令可查看android系統和應用的log
adb logcat //顯示全部日誌
adb logcat > c:\test.log //將日誌輸出保存到文件test.log
logcat日誌中的優先順序/tag標記:
android輸出的每一條日誌都有一個標記和優先順序與其關聯。
優先順序是下面的字元,順序是從低到高:
V — 明細 verbose(最低優先順序)
D — 調試 debug
I — 信息 info
W — 警告 warn
E — 錯誤 error
F — 嚴重錯誤 fatal
S — 無記載 silent
標記是一個簡短的字元串,用於標識原始消息的來源。如下是一個日誌輸出的消息,優先順序是「D」,標記是「PowerManagerService」:
D/PowerManagerService( 305): onSensorChanged: light value: 306.0
可根據tag標記和級別過濾日誌輸出:
僅輸出標記為「ActivityManager」且優先順序大於等於「Info」和標記為「PowerManagerService」並且優先順序大於等於「Debug」的日誌:
adb logcat ActivityManager:I PowerManagerService:D *:S
註:*:S用於設置所有標記的日誌優先順序為S,這樣可以確保僅輸出符合條件的日誌。
adb logcat *:W //顯示所有優先順序大於等於「warning」的日誌
adb logcat -s PowerManagerService //顯示PowerManagerService的日誌信息
Logcat命令列表:
-d 將日誌顯示在控制台後退出
-c 清理已存在的日誌
-f <filename> 將日誌輸出到文件
adb logcat -f /sdcard/test.txt
-v <format>設置日誌輸入格式控制輸出欄位,默認的是brief格式
brief — 顯示優先順序/標記和原始進程的PID (默認格式)
process — 僅顯示進程PID
tag — 僅顯示優先順序/標記
thread — 僅顯示進程:線程和優先順序/標記
raw — 顯示原始的日誌信息,沒有其他的元數據欄位
time — 顯示日期,調用時間,優先順序/標記,PID
long —顯示所有的元數據欄位並且用空行分隔消息內容
adb logcat -v thread //使用 thread 輸出格式
注意-v 選項中只能指定一種格式。
-b <buffer>載入一個可使用的日誌緩沖區供查看,默認值是main。
radio — 查看包含在無線/電話相關的緩沖區消息
events — 查看事件相關的消息
main — 查看主緩沖區 (默認緩沖區)
adb logcat -b radio //查看radio緩沖區
❹ android 系統 應用程序運行產生的 logcat文件存儲位置在哪裡
據我目前所知,是不存儲的,因為你的系統時時刻刻都在跑,如果儲存這個log的話,會佔掉相當一部分的空間。如果你想看實時的log輸出,可以在終端裡面輸入adb logcat查看或者在DDMS中查看。如果想保存起來看,可以在終端輸入adb logcat -> 文件路徑/文件名,把log重定向到你指定的文件中。
❺ 如何獲取 android 的系統日誌 logcat
您好,很高興為您解答。
讀取日誌需要的許可權
package mt.fzgh;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class MyLog
{
public static class MLog //靜態類
{
public static void getLog()
{
System.out.println("--------func start--------"); // 方法啟動
try
{
ArrayList<String> cmdLine=new ArrayList<String>(); //設置命令 logcat -d 讀取日誌
cmdLine.add("logcat");
cmdLine.add("-d");
ArrayList<String> clearLog=new ArrayList<String>(); //設置命令 logcat -c 清除日誌
clearLog.add("logcat");
clearLog.add("-c");
Process process=Runtime.getRuntime().exec(cmdLine.toArray(new String[cmdLine.size()])); //捕獲日誌
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(process.getInputStream())); //將捕獲內容轉換為BufferedReader
// Runtime.runFinalizersOnExit(true);
String str=null;
while((str=bufferedReader.readLine())!=null) //開始讀取日誌,每次讀取一行
{
Runtime.getRuntime().exec(clearLog.toArray(new String[clearLog.size()])); //清理日誌....這里至關重要,不清理的話,任何操作都將產生新的日誌,代碼進入死循環,直到bufferreader滿
System.out.println(str); //輸出,在logcat中查看效果,也可以是其他操作,比如發送給伺服器..
}
if(str==null)
{
System.out.println("-- is null --");
}
}
catch(Exception e)
{
e.printStackTrace();
}
System.out.println("--------func end--------");
}
}
}
這里比較令人糾結的一點就是日誌的清理 logcat -c 如果不加入 清理 在buffer滿為止,代碼自身能夠迭代6~7次....
附帶一份logcat的 命令...不過好像 過濾器 指令有問題....慎用
選項 說明
-s 默認設置過濾器
- f 文件 輸出到日誌文件
-c 清除日誌
-d 獲取日誌
-g 獲取日誌的大小
- v 格式 設置日誌(見下面的格式列印格式)
- v 格式 例
brief W/tag ( 876): message
process W( 876) message (tag)
tag W/tag : message
thread W( 876:0x37c) message
raw message
time 09-08 05:40:26.729 W/tag ( 876): message
threadtime 09-08 05:40:26.729 876 892 W tag : message
long [09-08 05:40:26.729 876:0x37c W/tag ] message
❻ android真機調試logcat文件在哪
在撥號界面輸入*#*#2846579#*#* ,然後系統會自動彈出一個菜單,選擇工程菜單,進入後,點擊背景設置,然後選擇log設置,將默認的設置成開啟狀態,然後手機可能會自動重啟,如果不自動重啟,請手動重啟。重啟之後就行了。
http://stackoverflow.com/questions/6941710/unable-to-open-log-device-dev-log-main-no-such-file-or-directory
Dial this: *#*#2846579#*#*
Service menu will appear.
Go to 「ProjectMenu」 -> 「Background Setting」 -> 「Log Setting」 //Log設置中,設置LOG開關為開。
Open 「Log switch」 and set it to ON. // 設置log級別為Verbose
Open 「Log level setting」 and set the log level you wish.
Reboot the phone.
之後重啟手機就OK啦。
❼ 如何把android開發的時候把LogCat里的內容復制出來如果不能復制,要是轉儲到文件中請說明詳細步驟
logcat是android中用於輸出日誌用的
log可以保存到一個文件中,保存方式:
直接在logcat中 按 Ctlr + C 復制 注意,右鍵是沒有復制粘
使用adb命令,將logcat重定向
adb shell 進入shell模式
執行 logcat > c:log.txt 表示將logcat定向到這個文件中
❽ 如何獲取 android 的系統日誌 logcat
直接在命令行重定向即可將logcat中輸出的日誌保存到文件中。
android開發中如果如果要將logcat中輸出信息的保存到文件中,按以下步驟:
1. 示例1: adb logcat > /sdcard/mylogcat.txt,表示將logcat的輸出重定向到/sdcard/mylogcat.txt文件中。
2. 示例2: db logcat > D:/Temp/1.txt(1.txt必須存在,才能寫入logcat內容),表示將logcat輸出的日誌保存到電腦D盤Temp目錄下的1.txt中。
❾ android logcat日誌在哪個文件夾裡面
如果使用的是 Eclipse 作為 IDE 的話,用 ADT 所提供的 logcat 顯示界面可以直接做到你的需求。 在編輯的位置輸入 app:your.package.name 便可以自動過濾包名為 your.package.name 的軟體輸出信息啦,如果在編寫軟體時注意了 Log.X 的使用,通過旁邊的下拉菜單還可以根據日誌的等級進行再一次進行的過濾。 TODO: 1. 打開 LogCat 2. 輸入需要的包名,如圖上的 com.android.phone 3. 根據需要選擇日誌等級,當然,如果沒有細致的 Log.X 輸出的話,推薦使用 verbose(詳細) 4. 查看過濾後的結果 5. 待解決問題後,記得將 app:com.android.phone 刪除,否則過濾會持續生效 後話:如果不嫌麻煩,在左邊的 Saved Filters 字樣旁邊有一個加號,通過它可以手動生成一個可以保存的過濾器,可涉及的過濾范圍諸如:日誌等級、進程ID、包名等。