美文网首页Android studio【idea】
Android Studio 3.1 Logger打印日志错乱

Android Studio 3.1 Logger打印日志错乱

作者: 言吾許 | 来源:发表于2018-08-27 17:21 被阅读173次

    自从升级AS 3.1 后,Logger打印的日志总是错乱,如下图:

    logger日志错乱
    很乱,好看的框框全部错乱了,虽然能看,但是看着别扭,正好今天有时间,就研究一下解决办法,作为开源的框架,出了问题,当然先去github logger 的issue看看有没有这种情况,还真找到了:
    类似问题

    看了一下,大概意思说这是AS的一个bug,往下看,也给出了解决方法:

    自定义log 策略类:

    public class LogCatStrategy implements LogStrategy {
    
      @Override public void log(int priority, String tag, String message) {
        Log.println(priority, randomKey() + tag, message);
      }
    
      private int last;
    
      private String randomKey() {
        int random = (int) (10 * Math.random());
        if (random == last) {
          random = (random + 1) % 10;
        }
        last = random;
        return String.valueOf(random);
      }
    }
    

    初始化logger:

            FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
                    .showThreadInfo(false)// (Optional) Whether to show thread info or not. Default true
                    .logStrategy(new LogCatStrategy ())// (Optional) Changes the log strategy to print out. Default LogCat
                    .methodCount(0)// (Optional) How many method line to show. Default 2
                    .methodOffset(7) // (Optional) Hides internal method calls up to offset. Default 5
                    .tag("tag")// (Optional) Global tag for every log. Default PRETTY_LOGGER
                    .build();
            Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy) {
                @Override
                public boolean isLoggable(int priority, String tag) {
                    return BuildConfig.DEBUG;
                }
            });
    

    看一下效果,啥?啥?啥?怎么还是乱糟糟的?难道此路不通?不应该啊


    已然乱糟糟的

    再去logger 的github首页看看,看到文档里面这个:


    文档用法

    其中有一个特别关键,logcat的侧边栏 的Use Soft Wraps(当log超出控制台的宽度时候,自动换行) 关掉!


    disabled这个选项

    再看一下效果,套他猴子的,是不是对的贼齐,舒服啊,**:


    完美

    另外,这个Use Soft Wraps(自动换行)有个用处是,有时候,我们需要复制打印出的logger,如果有多行,就会把边框框给复制上:


    复制上框框

    这个时候,把Use Soft Wraps勾上,让他自动换行,再复制,就ok了~


    勾选Use Soft Wraps进行log复制

    总结:
    1、自定义log 策略类,并在初始化的时候加入策略
    2、一定要把Use Soft Wraps(自动换行) 关掉!!!!
    一定要把Use Soft Wraps(自动换行) 关掉!!!!
    一定要把Use Soft Wraps(自动换行) 关掉!!!!
    重要的事情说三遍

    相关文章

      网友评论

        本文标题:Android Studio 3.1 Logger打印日志错乱

        本文链接:https://www.haomeiwen.com/subject/tddtwftx.html