zoukankan      html  css  js  c++  java
  • Spring boot 启动过程解析 logback

    使用 Spring Boot 默认的日志框架 Logback。

    所有这些 POM 依赖的好处在于为开发 Spring 应用提供了一个良好的基础。Spring Boot 所选择的第三方库是经过考虑的,是比较适合产品开发的选择。但是 Spring Boot 也提供了不同的选项,比如日志框架可以用 Logback 或 Log4j,应用服务器可以用 Tomcat 或 Jetty。
    http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/

    spring boot里有颜色日志的实现

    当在shell里启动spring boot应用时,会发现它的logger输出是有颜色的,这个特性很有意思。

    可以通过这个设置来关闭:

    spring.output.ansi.enabled=false

    原理是通过AnsiOutputApplicationListener ,这个来获取这个配置,然后设置logback在输出时,加了一个 ColorConverter,通过org.springframework.boot.ansi.AnsiOutput ,对一些字段进行了渲染。

    获取进程的PID

    ApplicationPid,可以获取PID。

        private String getPid() {
            try {
                String jvmName = ManagementFactory.getRuntimeMXBean().getName();
                return jvmName.split("@")[0];
            }
            catch (Throwable ex) {
                return null;
            }
        }

    包装Logger类

    spring boot里自己包装了一套logger,支持java, log4j, log4j2, logback,以后有需要自己包装logger时,可以参考这个。

    在org.springframework.boot.logging包下面。

    获取原始启动的main函数

    通过堆栈里获取的方式,判断main函数,找到原始启动的main函数。

    private Class<?> deduceMainApplicationClass() {
        try {
            StackTraceElement[] stackTrace = new RuntimeException().getStackTrace();
            for (StackTraceElement stackTraceElement : stackTrace) {
                if ("main".equals(stackTraceElement.getMethodName())) {
                    return Class.forName(stackTraceElement.getClassName());
                }
            }
        }
        catch (ClassNotFoundException ex) {
            // Swallow and continue
        }
        return null;
    }

    https://yq.aliyun.com/articles/6056?spm=5176.100240.searchblog.20.i049N1#2

    http://www.cnblogs.com/wangdaijun/p/5446924.html

  • 相关阅读:
    Java基础五
    Java基础测试
    Java练习题
    Java基础四
    Java基础三
    Java基础二
    Java基础一
    大数据讲解
    python笔记之函数 二
    iOS UICollectionView的使用(用storyboard和xib创建)
  • 原文地址:https://www.cnblogs.com/softidea/p/5633323.html
Copyright © 2011-2022 走看看