日志技术-SpringBoot使用日志
1、前面已经介绍过,Spring Boot 默认使用的日志框架为 Apache Commons Logging 。在 Spring x(也即 Spring Boot x )时,我们需要手动进行依赖导入。
2、在默认情况下Spring Boot只会在控制台输出日志。如果不用复杂的功能,只是希望能在文件中输出同样的日志。
3、根据上面总结的要统一日志框架的使用,第一步要排除其他的日志框架,在 Spring Boot 的 Maven 依 赖里可以清楚的看到 Spring Boot 排除了其他日志框架(exclusions标签)。我们自行排除依赖时也只需要按照图中的方式就好了。
4、本期没有太多的理论,大家跟着配就好了, 添加配置 resources/logback-spring.xml 配置好后, 我们运行项目,会发现跟目录多了一个 logs 的目录,那个就是日志文件,跟控制台产生的日志一样,被记录到文件里了。
spring-boot中logback日志配置
1、Spring Boot为我们提供了很多默认的日志配置,所以,只要将spring-boot-starter-logging作为依赖加入到当前应用的classpath,则“开箱即用”。
2、注 :Spring Boot 建议我们使用带有 -spring 后缀的作为日志配置文件名称(即相较于使用 logback.xml ,更建议使用 logback-spring.xml )。
3、本期没有太多的理论,大家跟着配就好了, 添加配置 resources/logback-spring.xml 配置好后, 我们运行项目,会发现跟目录多了一个 logs 的目录,那个就是日志文件,跟控制台产生的日志一样,被记录到文件里了。
4、使用起来也很方便需要在项目目录下增加logback.xml文件。在springboot项目,框架已经集成了logback(默认的日志框架),只需要在项目 resource 下配置 logback.xml文件 或者 logback-spring.xml 文件。
5、Spring Boot 默认使用Logback作为日志记录工具。日志默认输出到控制台但也能输出到文件中。
结合springboot搭建日志采集系统EFK
我们访问http://10.1:5601 创建工程 创建工程springboot-elk ,并使用logback 记录日志。
对于不同的日志系统,Spring Boot 会默认加载的日志配置文件如下表所示:注 :Spring Boot 建议我们使用带有 -spring 后缀的作为日志配置文件名称(即相较于使用 logback.xml ,更建议使用 logback-spring.xml )。
后来啊,看了同事的骚操作(在 item2 编写脚本: 快速登录堡垒机 (免去输入账号和密码信息),根据应用服务器数量来切割窗口并且切换到对应的日志目录)。说白了就是 一键登录 多台应用服务器。
springboot配置日志(Slf4j)
日志级别 级别从大到小依次是:ERROE WARN INFO DEBUG TRACE 在application.yml中进行配置 此配置文件中,只能对日志进行一些简单的格式或日志文件配置。
Java简易日志门面(Simple Logging Facade for Java,缩写SLF4J),是一套包装Logging 框架的界面程式,使用外观模式实现。项目结构 不同环境的日志配置 使用最直接的方式,不同环境加载不同的日志配置。
即 Spring Boot 已经为我们完成了统一日志框架的 3 个步骤中的 2 步。
Spring Boot 默认把日志输入到console,如果我们要把日志输入到文件中,需要配置logging.file 或者logging.path属性性。logging.file属性用来定义文件名。他不仅仅可以配置文件名,也可以路径+文件名。
slf4j).用 IDEA 工具查看 Maven 依赖关系,可以清晰的看到日志框架的引用 可见,Spring Boot 可以自动的适配日志框架,而且底层使用 SLF4j + LogBack 记录日志,如果我 们自行引入其他框架,需要排除其日志框架。
springboot日志配置:名称只要是一 logback开头就行,测试使用log.xml并不会生成日志。
Springboot配置logback
因为logback其他配置尚好理解,本文只说明比较少用,但是却起关键作用的两个子节点。
springboot日志配置:名称只要是一 logback开头就行,测试使用log.xml并不会生成日志。
本期没有太多的理论,大家跟着配就好了, 添加配置 resources/logback-spring.xml 配置好后, 我们运行项目,会发现跟目录多了一个 logs 的目录,那个就是日志文件,跟控制台产生的日志一样,被记录到文件里了。
通过源码,我们可以看出spring配置文件里这个locations是uri表示,也就是说我们写的logback-dev.xml是当前相对路径。
SpringBoot接入轻量级分布式日志框架(GrayLog)
1、说起ELK,即便没用过肯定也听说过这玩意了,在后端是真的流行。
2、指定配置 给类路径下放上每个日志框架自己的配置文件,SpringBoot就不使用默认配置。
3、实现了 SpringBootServletInitializer 的子类需要重写一个configure方法,方法内自动根据 LessontwoApplication .class的类型创建一个 SpringApplicationBuilder 交付给 springboot 框架来完成初始化运行配置。