Android 打印日志封装库


title: Android 打印日志封装库

在开始前先明白这些东西

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错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。

LoggerTest

参考 Android 如何优雅的打印日志

原文: Simple, pretty and powerful logger for android

Android 打印日志封装库_第1张图片
logger.png

有些手机不显示debug信息可以这样

需要打开华为手机的相关Log开关,具体步骤如下:

  1. 进入拨号界面输入:
    *#*#2846579#*#*
  2. 依次选择ProjectMenu---后台设置----LOG设置---LOG开关 点击打开, 然后在LOG级别选VERBOSE
  3. 重新启动手机
compile 'com.orhanobut:logger:1.15' 
package com.lexinsmart.xushun.loggertest;


import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

import com.orhanobut.logger.Logger;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * Created by yangle on 2016/12/26.
 */
public class MainActivity extends AppCompatActivity {

    private Button btnLog;
    private String JSON_CONTENT;
    private String XML_CONTENT;
    private List list;
    private Map map;
    private Set set;
    private String[] array;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnLog = (Button) findViewById(R.id.btn_log);

        initData();
        btnLog.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                log();
            }
        });

    }

    private void initData() {
        JSON_CONTENT = "{\"weatherinfo\":{\"city\":\"北京\",\"cityid\":\"101010100\"," +
                "\"temp\":\"-2\",\"WD\":\"西北风\",\"WS\":\"3级\",\"SD\":\"241%\",\"WSE\":\"3\"," +
                "\"time\":\"10:61\",\"isRadar\":\"1\",\"Radar\":\"JC_RADAR_AZ9010_JB\"}}";

        XML_CONTENT = "北京16:1023" +
                "3级19%北风";

        list = new ArrayList<>();
        list.add("Hello");
        list.add("World");

        map = new HashMap<>();
        map.put("H", "Hello");
        map.put("W", "World");

        set = new HashSet<>();
        set.add("Hello");
        set.add("World");

        array = new String[]{"Hello", "World"};
    }

    private void log() {
        // 普通日志
        Logger.v("Hello World!");
        Logger.d("Hello World!");
        Logger.i("Hello World!");
        Logger.w("Hello World!");
        Logger.e("Hello World!");

        // what a terrible failure
        // 可怕的失败,报告一个永远不可能发生的情况
        Logger.wtf("Hello World!");

        // 打印JSON
        Logger.json(JSON_CONTENT);

        // 打印XML
        Logger.xml(XML_CONTENT);

        // 打印集合
        Logger.d(list);
        Logger.d(map);
        Logger.d(set);

        // 打印数组
        Logger.d(array);

        // 格式化字符串
        Logger.d("Hello %s%s", "World", "!");

        //自定义单个Tag
        Logger.t("MyTag").d("Hello World!");

        try {
            //int a = 6 / 0;
        } catch (Exception e) {
            Logger.e(e, "Exception");
        }
    }
}


你可能感兴趣的:(Android 打印日志封装库)