zoukankan      html  css  js  c++  java
  • Android logcat

    logcat是Android中一个命令行工具,可以用于得到程序的log信息。

    基本命令

    logcat使用方法如下所示:
    [adb] logcat [<option>] ... [<filter-spec>] ...
    [options]命令包括如下选项:
    -s 设置过滤器,例如指定 '*:s'
    -f <filename> 输出到文件,默认情况是标准输出。
    -r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires -f
    -n <count> Sets max number of rotated logs to <count>, default 4
    -v <format> 设置log的打印格式, <format> 是下面的一种:
    brief process tag thread raw time threadtime long
    -c 清除所有log并退出
    -d 得到所有log并退出 (不阻塞)
    -g 得到环形缓冲区的大小并退出
    -b <buffer> 请求不同的环形缓冲区 ('main', 'system', 'radio', 'events',默认为"-b main -b system")
    -B 输出log到二进制中。
    过滤器的格式是一个这样的串:
    <tag>[:priority]
    其中 <tag> 表示log的component, tag (或者使用 * 表示所有) , priority 从低到高如下所示:
    V Verbose
    D Debug
    I Info
    W Warn
    E Error
    F Fatal
    S Silent

    打开logcat会发现有很多不同颜色的信息代表不同的级别

    生成方法

    事实上logcat的功能是由Android的类android.util.Log决定的,在程序中log的使用方法如下所示:
    Log.v() -------------------- VERBOSE
    Log.d() -------------------- DEBUG
    Log.i() -------------------- INFO
    Log.w() -------------------- WARN
    Log.e() -------------------- ERROR
    以上log的级别依次升高,DEBUG信息应当只存在于开发中,INFO, WARN,ERROR这三种log将出现在发布版本中。
    下面实战一下
    package com.wuyudong.logcat;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.util.Log;
    import android.view.Menu;
    
    public class MainActivity extends Activity {
    
        static final String tag = "LOGCAT";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Log.v(tag, "hello");
        }
    }

    运行后

     发现Application列为空,解决办法:

    在AndroidManifest.xml中添加android:debuggable="true"

        <application
            android:allowBackup="true"
            android:debuggable="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.wuyudong.logcat.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>

    继续修改代码

    public class MainActivity extends Activity {
    
        static final String tag = "LOGCAT";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Log.v(tag, "hello");
            Log.d(tag, "hello");
            Log.i(tag, "hello");
            Log.w(tag, "hello");
            Log.e(tag, "hello");
        }
    }

    此时Application列又为空,不知怎样彻底解决

     
  • 相关阅读:
    Java服务停止与开启
    跨域,php后端处理
    Mac 504 gateway timeout nginx
    Tp3.2 多数据库链接
    Redis 设置密码
    Redis 如何对外访问 lnmp安装
    tensorflow gpu安装
    ngx_http_upstream_check_module
    Nginx负载均衡+监控状态检测
    springboot+log4j2+slf4j控制台打印带sql日志
  • 原文地址:https://www.cnblogs.com/wuyudong/p/5541039.html
Copyright © 2011-2022 走看看