Logger

简介

一个简单,漂亮,功能强大的日志系框架

项目地址

https://github.com/orhanobut/logger

功能

  • 线程的信息
  • 类的信息
  • 方法的信息
  • 将 JSON 文本人性化输出
  • 将换行符人性化输出
  • 简洁的输出
  • 从日志跳转到源码

gradle配置

compile 'com.orhanobut:logger:1.15'

初始化设置

设置是否显示日志,默认:LogLevel.FULL

Logger.init().logLevel(LogLevel.NONE)

设置tag,默认:PRETTYLOGGER

String YOUR_TAG = "YOUR TAG";
Logger.init(YOUR_TAG);

隐藏线程信息,默认:显示线程信息

Logger.init().hideThreadInfo();

显示方法个数,默认:2

 Logger.init().methodCount(1);

显示方法偏移量,默认:0

Logger.init().methodOffset(0);

使用举例

使用方式1:

package gift.witch.exercise;

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

import com.orhanobut.logger.Logger;

public class LoggerMainActivity extends Activity{


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_kmain);
        Logger.init("XXX");
        Logger.v("Verbose");
        Logger.d("Debug");
        Logger.i("Info");
        Logger.w("Warn");
        Logger.e("Error");
        Logger.wtf("Wtf");
        String JSON_CONTENT = "[{\"key\":3}]";
        Logger.json(JSON_CONTENT);
        String XML_CONTENT = "<?xml version=\"1.0\"?>\n" +
                "<note>\n" +
                "<body>Don't forget me this weekend!</body>\n" +
                "</note>";
        Logger.xml(XML_CONTENT);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

    }
}

格式化string

Logger.d("string: %s %d", "string value", 5);   // String.format

对Array, Map, Set 和 List的支持

package gift.witch.exercise;

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

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;

public class LoggerMainActivity extends Activity{


    public class LoggerObject{

        public String mLoggerObject;

        public LoggerObject(String loggerObject){
            mLoggerObject = loggerObject;
        }

    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_kmain);
        Logger.init("XXX");

        HashSet<String> hashSet = new HashSet<>();
        hashSet.add("hashSet1");
        hashSet.add("hashSet2");
        Logger.d(hashSet);

        String[] strings = new String[]{"strings1","strings2"};
        Logger.d(strings);

        Map<String,String> map = new HashMap<>();
        map.put("key1","value1");
        map.put("key2","value2");
        Logger.d(map);

        List<String> list = new ArrayList<>();
        list.add("list1");
        list.add("list2");
        Logger.d(list);

        List<LoggerObject> objects = new ArrayList<LoggerObject>();
        objects.add(new LoggerObject("loggerObject1"));
        objects.add(new LoggerObject("loggerObject2"));
        Logger.d(objects);

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

    }
}

其他使用方式

        Logger.init("XXX");

        Logger.t("tag").d("增加了tag标签");
        Logger.t(1).d("只显示1个方法");
        Logger.t("tag",3).d("增加一个tag标签并只显示3个方法");

t()方法,增加标签和控制显示方法数

========扩展内容=======

Hugo

https://github.com/JakeWharton/hugo

Timber

https://github.com/JakeWharton/timber

Scalpel

https://github.com/JakeWharton/scalpel

results matching ""

    No results matching ""