logback

Spring Boot Log 日志使用教程

北慕城南 提交于 2020-04-28 04:16:33
我们编写任何 Spring Boot 程序,可能绕不开的就是 log 日志框架(组件)。 在大多数程序员眼中日志是用来定位问题的。这很重要。 本项目源码下载 注意本项目提供的源码已在后期重新编写,有部分日期描述不一致。 如果你只是想知道 Spring boot log 如何使用,请直接观看 3.2 使用 Spring Boot Logback 1 Log 日志概述 1.1 Log 日志组件能干什么 日志能干的事情很多,对于学习程序,测试的工程师来说,日志能够定位问题,解决问题,是最大的功能点。 记录一切 日志帮助我们记录程序功能都干了什么,无论是正常的输入输出还是出现异常,都可以用日志记录 定位问题 日志可以帮助程序员调试问题,帮助测试人员定位问题 记录分析用户行为 统计分析师用来记录用户的一起行为,用于分析用户的习惯和商业价值 备份和还原实时数据 数据库工程师用来作为一种特殊的数据库 1.2 日志的级别 Log Level 日志级别是对日志记录信息的轻重缓急的划分。通常从轻到重划分为: TRACE DEBUG INFO WARN ERROR 通常当我们指定日志级别为 INFO 级别,那么 TRACE DEBUG 级别的日志就不会被输出打印,同理如果指定日志级别为 ERROR ,那么其他类型的日志将不会被打印。 1.3 日志的输出 Log Import

springboot日志

為{幸葍}努か 提交于 2020-04-26 01:41:33
1.日志门面、日志实现选择 日志门面(抽象层):SLF4J 日志实现:Logback(是Log4j修改) 这三个框架都是同一个人写的 spring框架默认JCL springboot选用SLF4J和Logback 2.SLF4J使用 在开发的时候,日志记录方法的调用,不应该直接调用日志的实现类,而是调用日志抽象层里的方法,给系统里面导入SLF4J的jar和Logback的实现jar 每个日志的实现框架都有自己的配置文件。使用SLF4J以后,配置文件还是要做成日志实现框架自己本身的配置文件。 Logger logger=LoggerFactory.getLogger("****.class"); logger.info("************"); 3.不同框架遗留问题 统一日志记录,使别的框架也使用SLF4J进行输出 解决: 1.将系统中其他日志框架先排除出去 2.用中间包来替换原有的日志框架 3.导入SLF4J其他的实现 4.springboot日志关系 <!-- springboot用它来做日志功能 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency> 1

[java学习笔记]logback的使用

半腔热情 提交于 2020-04-24 23:41:13
建立一个简单的springboot的项目,不需要引入额外的依赖即可使用logback日志; 默认的日志记录级别是info,即只显示info, warn, error的日志,debug级别的日志不会显示; 可以通过配置文件的形式,将错误日志和正常的日志分开记录,指定日志的级别,日志的格式等操作,默认的配置文件名是logback-spring.xml,一个配置文件的例子; <?xml version="1.0" encoding="UTF-8"?> <configuration> <!--定义日志文件的存储地址,使用绝对路径--> <property name="LOG_HOME" value="G:/jarpro/ly_log/log"/> <!-- Console 输出设置 --> <appender name="CONSOLE" class ="ch.qos.logback.core.ConsoleAppender"> <encoder> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> <charset>utf8<

docker部署elk日志采集系统(tcp方式)

允我心安 提交于 2020-04-24 14:54:18
一、elk 概念 ELK是 Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。 Elasticsearch :实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能。Elasticsearch是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。 Logstash :用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。 Kibana :基于Web的可视化图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据。 二、docker 安装 elk 1、拉镜像,运行 docker pull sebp/elk docker run -d -it --name elk --restart always -p 5601:5601 -p 9200:9200 -p 5044

Springboot+SpringCloud项目脚手架

时间秒杀一切 提交于 2020-04-24 13:35:45
系统介绍 spring-cloud-plus 是以spring-cloud-alibaba为基础并整合一些常用框架的分布式基础开发平台。 项目以组件模块的方式构建,实现项目模块可插拔组装。工作中遇到的一些常用框架,我都会整合到此项目,并持续更新。 项目地址 https://gitee.com/gourd-hu/spring-cloud-plus https://github.com/hxnlyw/spring-cloud-plus 目标 成为一个简单易用、快速高效、功能丰富、安全稳定的分布式项目脚手架。 让每个人都可以独立、快速、高效地开发一套分布式项目! 技术架构图 技术栈 基础:springboot + springcloud 持久化:MybatisPlus 连接池:Druid 数据库:Mysql 项目构建:Maven API网关: Gateway 日志:Logback 注册、配置中心: Nacos 服务调用: Feign + Ribbon 熔断、降级:Sentinel 分布式事务:Seata 分布式锁:Redisson 鉴权: Shiro + jwt-token 缓存: Redis、springCache 工作流:Activiti 定时任务: Quartz 消息中间件:ActiveMq 文件操作:FastDFS、EasyExcel 搜索存储引擎:Elasticsearch

Spring Boot Reactor Netty配置

百般思念 提交于 2020-04-23 15:29:04
什么是Reactor Netty? 在开始之前,让我们看一下Reactor Netty是什么以及它与Spring Boot的关系。 Reactor Netty是一个异步事件驱动的网络应用程序框架。它提供非阻塞和背压就绪的TCP,HTTP和UDP客户端和服务器。顾名思义,它基于Netty框架。 现在,让我们看看Spring和Spring Boot的位置。 Spring WebFlux 是Spring框架的一部分,为Web应用程序提供反应式编程支持。如果我们在Spring Boot应用程序中使用WebFlux,Spring Boot会 自动将 Reactor Netty 配置为默认服务器。除此之外,我们可以明确地将Reactor Netty添加到我们的项目中,Spring Boot应该再次自动配置它。 现在,我们将构建一个应用程序来了解如何自定义我们自动配置的Reactor Netty服务器。之后,我们将介绍一些常见的配置方案。 首先,我们将添加所需的Maven依赖项。 要使用Reactor Netty服务器,我们将在我们的pom文件中添加 spring-boot-starter-webflux 作为依赖项: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter

Spring Boot整合SLF4j+log4j

五迷三道 提交于 2020-04-23 09:17:25
一 点睛 SLF4j作为日志门面,log4j作为日志实现。 二 pom 需要排除自带的logback依赖,引入springboot-log4j <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.cakin</groupId> <artifactId

Spring Boot整合SLF4j+logback

落爺英雄遲暮 提交于 2020-04-23 09:16:27
一 点睛 SLF4j作为日志门面,logback作为日志实现。 Spring Boot 默认实现的日志管理就是使用的logback。 二 pom 不用修改任何地方。 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.cakin</groupId>

SpringBoot系列之日志框架使用教程

旧城冷巷雨未停 提交于 2020-04-21 23:34:07
基于上篇博客, SpringBoot系列之日志框架介绍及其原理简介 博客之后,本博客可以对日志框架的具体使用做一个比较详细的描述,以此作为一篇使用的手册,以此帮助学习Springboot者 @[toc] 1、SpringBoot日志级别 1)、日志级别简介 简介一下日志级别,按照从低到高排序:trace < debug < info < warn < error,eg:假如日志级别为info,则只会打印info级别及其高级别的日志,所以在项目中,可以通过调高日志级别,打少点日志,反之,想打多点就调低日志级别 2)、默认日志级别 Springboot支持的日志级别有:TRACE, DEBUG, INFO, WARN, ERROR, FATAL, or OFF,然后默认的级别是info,写一个简单的测试类验证这个问题: import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class SpringbootLoggerApplicationTests { Logger LOG = LoggerFactory

搞定SpringBoot多数据源(2):动态数据源

China☆狼群 提交于 2020-04-21 08:46:06
目录 1. 引言 2. 动态数据源流程说明 3. 实现动态数据源 3.1 说明及数据源配置 3.1.1 包结构说明 3.1.2 数据库连接信息配置 3.1.3 数据源配置 3.2 动态数据源设置 3.2.1 动态数据源配置 3.2.2 动态选择数据源 3.2.3 动态数据源使用 3.3 使用 AOP 选择数据源 3.3.1 定义数据源注解 3.3.2 定义数据源切面 3.3.3 使用 AOP 进行数据源切换 4. 再思考一下 5. 总结 参考资料 往期文章 一句话概括:使用动态数据源对多个数据库进行操作,灵活,简洁。 1. 引言 对于多个数据库的处理,上一篇文章《 搞定SpringBoot多数据源(1):多套源策略 》已有提及,有多套数据源、动态数据源、参数化变更数据源等方式,本文是第二篇:“动态数据源”。动态数据源可以解决多套数据源的处理不够灵活、占用资源多等问题。用户可以根据实际的业务需要,统一操作逻辑,只要在需要切换数据源的进行处理即可。何为动态,其实是批切换数据源的时机可以动态选择,在需要的地方进行切换即可。 本文延续上一篇文章的示例,以主从场景为示例,结合代码,对动态数据源的实现进行讲解,内容包括搭建动态数据源原理、动态数据源配置、动态数据源使用,AOP 注解方式切换数据源等。 本文所涉及到的 示例代码 : https://github.com/mianshenglee