當前位置:首頁 » 安卓系統 » android日誌

android日誌

發布時間: 2022-01-08 20:53:30

Ⅰ android的日誌Logger和Log比較,哪個好

建議使用Log,這是android專門用來開發列印日誌使用的。輸出的日誌可以在Logcat中查看。


Android開發中,所的有輸出都在logcat中 包含System.out輸出和printStackTrace()輸出都在Logcat中,Android開發,建議使用android提供的Log工具類來列印信息。

找到Logcat視圖的方式:

  1. Eclipse 點擊 Window

  2. Show View會出來一個對話框

  3. 點擊Ok按鈕時,會在控制台窗口出現LogCat視圖


android.util.Log常用的方法有以下5個:Log.v()Log.d()Log.i()Log.w()以及Log.e()。根據首字母對應VERBOSE,DEBUG,INFO,WARN,ERROR。

1、Log.v 的調試顏色為黑色的,任何消息都會輸出,這里的v代表verbose啰嗦的意思,平時使用就是Log.v("","");

2、Log.d的輸出顏色是藍色的,僅輸出debug調試的意思,但他會輸出上層的信息,過濾起來可以通過DDMS的Logcat標簽來選擇.

3、Log.i的輸出為綠色,一般提示性的消息information,它不會輸出Log.v和Log.d的信息,但會顯示i、w和e的信息

4、Log.w的意思為橙色,可以看作為warning警告,一般需要我們注意優化Android代碼,同時選擇它後還會輸出Log.e的信息。

5、Log.e為紅色,可以想到error錯誤,這里僅顯示紅色的錯誤信息,這些錯誤就需要認真的分析,查看棧的信息了。

Ⅱ 如何在android源代碼中列印出日誌

1:在編譯so文件的c或cpp文件之前中加入以下代碼,就可以在android中的log顯示日誌內容
#include
#define LOG_TAG "show infomation"
#define LOGW(a ) __android_log_write(ANDROID_LOG_WARN,LOG_TAG,a)
2:就可以在c或cpp中加入LOWG(str) 就可以在android中的log中顯示列印的內容
3.這樣寫完以後,如果直接編譯,就會報 __android_log_write 方法undefined.
怎麼回事呢?關鍵是在設置編譯選項上面。
在Android.mk文件里,可以指定一個LOCAL_LDLIBS的參數。如果不指定,那麼編譯的時候,只會引入默認的幾個重要的lib,比如libc之類的。
如果要用log,那就要把 liblog給引進來。
網上很多的寫法是 LOCAL_LDLIBS := -llog ,這在build static lib的時候沒什麼問題。如果是build shared lib,就會報個 cannot find -llog的錯誤。意思是找不到liblog.so這個庫文件。
因此需要改成 LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog 才可以正常編譯。
其中-L參數是指定了搜索lib的路徑。
下面是一個android.mk的內容的例子:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := TestNdkNetwork
LOCAL_SRC_FILES := HttpConnection.cpp
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
include $(BUILD_SHARED_LIBRARY)

Ⅲ 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、包名等。

Ⅳ 如何獲取 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 日誌文件用什麼打開

編程調試是每一個編程人員必備的編程技巧,而在編程調試中,我們最最常用也是最最有效的的調試方法之一就是輸出信息,有過java編程經驗的同學應該知道,在java再發的過程中,我們經常會通過在程序可能出現問題的位置處通過

System.out.println("aaaaaaaaaaaaaaaaaaaaaaa");

輸出調試信息來調試程序,通過console控制台,我們就可以輕易得知我們的程序到目前位置處是否運行正常

然而,當我們轉戰android時,我們發現,通過單純的System.out我們已經沒有辦法在console獲取信息,為了獲取必要的調試信息,我們要用到android的LogCat工具

下面我們來看一下android開發中如何查看app運行日誌:

1.在android開發中,我們依然可以使用System.out來經行調試信息的輸出,只是這時的調試信息不再console中,而是在LogCat中;

2.我們也可以使用andorid工具包中的Log類來經行必要調試信息的輸出。

官方解釋:Generally, use the Log.v() Log.d() Log.i() Log.w() and Log.e() methods.

The order in terms of verbosity, from least to most is ERROR, WARN, INFO,

DEBUG, VERBOSE. Verbose should never be compiled into an application except

ring development. Debug logs are compiled in but stripped at runtime. Error,

warning and info logs are always kept.

當我們要輸出信息時,直接使用Log中提供的Log.v() Log.d() Log.i() Log.w() and Log.e()即可

@Override
protected void onResume() {
Log.i(Tag, "first activity--------onResume()");
System.out.println("first activity--------onResume()");
super.onResume();
}
@Override
protected void onStart() {
Log.i(Tag, "first activity--------onStart()");
System.out.println("first activity--------onStart()");
super.onStart();
}
@Override
protected void onStop() {
Log.i(Tag, "first activity--------onStop()");
System.out.println("first activity--------onStop()");
super.onStop();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.i(Tag, "first activity--------onCreate()");
System.out.println("first activity--------onCreate()");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
我們已經把調試信息輸出,那麼我們應該如何更好的查看這些信息呢:

首先我們要打開eclipse的LogCat窗口,當我們運行一個app時,我們可以看到這個窗口一次會輸出很多信息,大多數信息對於我們來說是不需要的, 為了更快的得到我們期望的信息,這里我們就要用到日誌過濾器filter,如下圖所示,通過加號,我們就可以新建一個過濾器了

新建如下:

如:當你想看System.out的信息時,在Filter Name處填System.out(這里注意,這個名字是隨便填寫的)

在by Log Tag處填寫:System.out這個是System.out.println在android中的Tag標志

當你想看Log輸出的信息時,比如你輸出的信息是:Log.d("Test","this is a Test");

在Filter Name處填寫:Testaa,在by Log Tag處填寫:Test.

Ⅵ android 程序報錯後產生的日誌如何查看

你的項目是4.0的還是一下版本的,好像從4.0以後訪問網路的時候方法不能寫在主線程裡面,根據你描述的能得到參數但是還是返回null可能是這個問題了。你寫個線程來調用這個方法,要是4.0一下的版本就沒有問題了。希望能幫到你,沒解決繼續追問,再描述詳細一點。

Ⅶ android手機日誌怎麼查看

以小米手機為例,其他機型操作方法大致相同:

1.首先在手機桌面上找到【文件管理】,進入手機的文件管理頁面。

Ⅷ android crash日誌怎麼分析

原始的方法都比較麻煩了,現在有很多的崩潰捕捉工具,可以都快速的定位崩潰堆棧詳情,同時日誌也會一並上報的,現在比較新的工具是Bugout,一些別工具還有bugly、bugtags和bugclos,你可以篩選一下,哪個適合你。

Ⅸ 如何獲取 android 的系統日誌

您好,很高興為您解答。讀取日誌需要的許可權
<uses-permission android:name="android.permission.READ_LOGS"/>
主要代碼
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

如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】希望我的回答對您有所幫助,望採納! ~ O(∩_∩)O~

熱點內容
編程鍵是什麼 發布:2024-09-20 07:52:47 瀏覽:651
學考密碼重置要求的證件是什麼 發布:2024-09-20 07:19:46 瀏覽:477
電腦主伺服器怎麼開機 發布:2024-09-20 07:19:07 瀏覽:728
2022款瑞虎升級哪些配置 發布:2024-09-20 06:59:07 瀏覽:264
資料庫與asp 發布:2024-09-20 06:55:25 瀏覽:727
python解釋編譯 發布:2024-09-20 06:52:57 瀏覽:648
舞蹈豐收腳本 發布:2024-09-20 06:36:26 瀏覽:595
linux進程埠號 發布:2024-09-20 06:36:11 瀏覽:80
派派怎麼改密碼忘了 發布:2024-09-20 06:25:49 瀏覽:780
linux虛擬地址物理地址 發布:2024-09-20 06:23:29 瀏覽:564