目前分類:日誌類(Log) (32)

瀏覽方式: 標題列表 簡短摘要


1.import下列套件
import android.util.Log;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

主要类:

package com.example.callstatus;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

新增Class L.java

 

package com.tsots.log;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

新增一個 debug.h

 

內容如下

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

Preface


shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

*注:可以用 adb logcat > 路徑/檔案名 來保存,



shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1.檔案名與類名故意與 SDK 中的相同,



shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

Android 內有提供一個指令,稱為bugreport。可以透過指令adb bugreport adb shell bugreport來取得Bugreport中的資訊。使用這個指令取得Android 4.1的模擬器內的bugreport可得到以下的六十八種紀錄訊息。這些訊息可以用來診斷Android目前的健康情況。
UPTIME (uptime) 
 MEMORY INFO (/proc/meminfo) 
 CPU INFO (top -n 1 -d 1 -m 30 -t) 
 PROCRANK (procrank) 
 VIRTUAL MEMORY STATS (/proc/vmstat) 
 VMALLOC INFO (/proc/vmallocinfo) 
 SLAB INFO (/proc/slabinfo) 
 ZONEINFO (/proc/zoneinfo) 
 PAGETYPEINFO (/proc/pagetypeinfo) 
 BUDDYINFO (/proc/buddyinfo) 
 KERNEL WAKELOCKS (/proc/wakelocks) 
 KERNEL CPUFREQ (/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state) 
 PROCESSES (ps -P) 
 PROCESSES AND THREADS (ps -t -p -P) 
 LIBRANK (librank) 
 KERNEL LOG (dmesg) 
 LIST OF OPEN FILES (/system/xbin/su root lsof) 
 SMAPS OF ALL PROCESSES 
 SHOW MAP 1 (/init) (/system/xbin/su root showmap 1) 
 BLOCKED PROCESS WAIT-CHANNELS 
 SYSTEM LOG (logcat -v threadtime -d *:v) 
 EVENT LOG (logcat -b events -v threadtime -d *:v) 
 RADIO LOG (logcat -b radio -v threadtime -d *:v) 
 VM TRACES JUST NOW (/data/anr/traces.txt.bugreport: 2012-10-17 08:21:46) 
 VM TRACES AT LAST ANR (/data/anr/traces.txt: 2012-10-17 08:16:11) 
 NETWORK DEV INFO (/proc/net/dev) 
 QTAGUID NETWORK INTERFACES INFO (/proc/net/xt_qtaguid/iface_stat_all) 
 QTAGUID NETWORK INTERFACES INFO (xt) (/proc/net/xt_qtaguid/iface_stat_fmt) 
 QTAGUID CTRL INFO (/proc/net/xt_qtaguid/ctrl) 
 QTAGUID STATS INFO (/proc/net/xt_qtaguid/stats) 
 NETWORK ROUTES (/proc/net/route) 
 NETWORK ROUTES IPV6 (/proc/net/ipv6_route) 
 LAST KMSG (/proc/last_kmsg) 
 LAST PANIC CONSOLE (/data/dontpanic/apanic_console) 
 LAST PANIC THREADS (/data/dontpanic/apanic_threads) 
 SYSTEM SETTINGS (/system/xbin/su root sqlite3 /data/…
 NETWORK INTERFACES (/system/xbin/su root netcfg) 
 IP RULES (ip rule show) 
 IP RULES v6 (ip -6 rule show) 
 ROUTE TABLE 60 (ip route show table 60) 
 ROUTE TABLE 61 v6 (ip -6 route show table 60) 
 ROUTE TABLE 61 (ip route show table 61) 
 ROUTE TABLE 61 v6 (ip -6 route show table 61) 
 ARP CACHE (/proc/net/arp) 
 IPTABLES (/system/xbin/su root iptables -L -nvx) 
 IP6TABLES (/system/xbin/su root ip6tables -L -nvx) 
 IPTABLE NAT (/system/xbin/su root iptables -t nat -L -nvx) 
 IPTABLE RAW (/system/xbin/su root iptables -t raw -L -nvx) 
 IP6TABLE RAW (/system/xbin/su root ip6tables -t raw -L -nvx) 
 WIFI NETWORKS (/system/xbin/su root wpa_cli list_networks) 
 SYSTEM PROPERTIES 
 VOLD DUMP (vdc dump) 
 SECURE CONTAINERS (vdc asec list) 
 FILESYSTEMS & FREE SPACE (/system/xbin/su root df) 
 PACKAGE SETTINGS (/system/xbin/su root cat /data/system/packages.xml) 
 PACKAGE UID ERRORS (/data/system/uiderrors.txt: 2012-10-15 02:30:29) 
 LAST RADIO LOG (parse_radio_log /proc/last_radio_log) 
 BACKLIGHTS 
 BINDER FAILED TRANSACTION LOG (/sys/kernel/debug/binder/failed_transaction_log) 
 BINDER TRANSACTION LOG (/sys/kernel/debug/binder/transaction_log) 
 BINDER TRANSACTIONS (/sys/kernel/debug/binder/transactions) 
 BINDER STATS (/sys/kernel/debug/binder/stats) 
 BINDER STATE (/sys/kernel/debug/binder/state) 
 DUMP VENDOR RIL LOGS (/system/xbin/su root vril-dump) 
 DUMPSYS (dumpsys) 
 APP ACTIVITIES (dumpsys activity all) 
 APP SERVICES (dumpsys activity service all) 
 APP SERVICES (dumpsys activity provider all) 

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

String filePath = android.os.Environment.getExternalStorageDirectory() + java.io.File.separator; File file = new File(filePath + CONFIG_LOG_FILE_NAME); BufferedWriter out = null out = new BufferedWriter(new FileWriter(file, true)) out.append(String物件); DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); Date now = new Date(); dateFormat.format(now); finally {     if (out != null) {         out.flush();         out.close();     } }


shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

There are basically three logs on the system:

Log:

  • for short, textual data
  • in-memory ringbuffer, fast
  • ephemeral (you'll lose it on a crash, or the ringbuffer scrolls)
  • intended for app developers

EventLog is:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

/***
* <p> 封裝日誌api的調用. 將日誌api的調用統一放到這個類下,
* 更換具體是使用的日誌框架時就只要修改這個類時就好了.

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1.#include <utils/Log.h>把Log.h 檔包含進來
2.#define LOG_TAG 「your log tag」定義LOG_TAG,通常為檔案名字,以方便定位到哪個檔
3.使用LOGE,LOGW或LOGD等添加列印輸出。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

步驟:
(1)加入所需要的的jar包slf4j-android-1.6.1-RC1.jar
(2)用法

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

使用如下命令可以將logcat中的內容輸出到文字檔中:
•第一種事例:adb logcat > /sdcard/mylogcat.txt
•第二種事例:adb logcat > D:/Temp/1.txt(1.txt必須存在,才能寫入logcat內容)

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

Android日誌系統提供了記錄和查看系統調試資訊的功能。日誌都是從各種軟體和一些系統的緩衝區中記錄下來的,緩衝區可以通過 logcat 命令來查看和使用.

使用logcat命令

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

為什麼需要回饋Crash報告?

做Android應用程式,要儘量避免程式Crash的發生。雖然說零Crash是程式師追逐的最終目標,但是現實的情況是,程式師只能儘量的減少Crash的發生,而幾乎不可能完全杜絕Crash。也許,你認為你的應用的健壯性已經近乎完美,輕鬆的經受住了測試部門魔鬼般的考驗,但是當你的應用發佈到市場,面對百萬甚至千萬級別的使用者的時候,可能就沒有那麼幸運了。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开发者分析和调试程序。

我们先建立一个crash项目,项目结构如图:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

15190911_LIT1

import android.app.Activity;
import android.os.Bundle;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

Andorid的logcat通常都會輸出無數多的資訊,至少對於我來說,經常把眼睛看花。Jeff Sharkey針對此寫了一個python腳本,專門負責整理logcat的輸出流並給不同的tag資訊加上對應的顏色。如圖
11083456_fh9A  

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1 2