当前位置:首页 » 安卓系统 » 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~

热点内容
单片机android 发布:2024-09-20 09:07:24 浏览:760
如何提高三星a7安卓版本 发布:2024-09-20 08:42:35 浏览:659
如何更换服务器网站 发布:2024-09-20 08:42:34 浏览:306
子弹算法 发布:2024-09-20 08:41:55 浏览:284
手机版网易我的世界服务器推荐 发布:2024-09-20 08:41:52 浏览:812
安卓x7怎么边打游戏边看视频 发布:2024-09-20 08:41:52 浏览:158
sql数据库安全 发布:2024-09-20 08:31:32 浏览:90
苹果连接id服务器出错是怎么回事 发布:2024-09-20 08:01:07 浏览:503
编程键是什么 发布:2024-09-20 07:52:47 浏览:655
学考密码重置要求的证件是什么 发布:2024-09-20 07:19:46 浏览:479