logback

maven打包 不包含目录

家住魔仙堡 提交于 2020-08-08 20:04:23
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <excludes> <exclude>/**.yml</exclude> <exclude>/static/**</exclude> <exclude>/bootstrap.properties</exclude> <exclude>/logback-spring.xml</exclude> </excludes> </configuration> </plugin> </plugins> </build> 来源: oschina 链接: https://my.oschina.net/internetafei/blog/4432338

Spring Boot 各种日志框架记录方式

假如想象 提交于 2020-08-08 14:31:04
1、常用日志框架比较 对于我们日常开发日志是经常使用的,Commons Logging是Spring Boot在所有内部日志中使用,但是默认配置也提供了对常用日志的支持,Log4J, Log4J2和Logback。 1.1 slf4j 门面模式,其核心为 外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用 。结构如图: 门面模式的核心为Facade即门面对象,门面对象核心为: 知道所有子角色的功能和责任 将客户端发来的请求委派到子系统中,没有实际业务逻辑 不参与子系统内业务逻辑的实现 slf4j是门面模式的典型应用, slf4j只是一个日志标准,并不是日志系统的具体实现, 需要和具体的日志框架实现配合使用(Log4J, Log4J2,Logback)。 slf4j只做两件事: 提供日志接口 提供获取具体日志对象的方法 我们为什么要使用slf4j,举个例子: 在开发中,我们经常会使用到之前的类库,或者别人写的类库,使用的日志记录框架和自己本身的不一致,如果我需要使用到,就得维护两套日志配置,维护成本上升,不划算。 使用日志接口便于更换为其他日志框架。 log4j、logback、log4j2都是一种日志具体实现框架,所以既可以单独使用也可以结合slf4j一起搭配使用 1.2 log4j Log4j有三个主要的组件:Loggers(记录器),Appenders

github如何提交自己修改的代码

做~自己de王妃 提交于 2020-08-08 11:50:12
当在github上发现别人项目有BUG,或者想要完善其功能的时候,该如何把自己的修改提交到项目中呢? 以logback为例 步骤: 1, fork一份logback代码到自己的仓库 进入github要修改项目的主页,点击fork按钮,fork一份代码到自己的仓库 2, clone出fork后的项目 git clone https://github.com/xxxx/logback.git 3,使本地代码与原始项目关联 git remote add upstream https://github.com/qos-ch/logback.git 4,关联后,拉取原始项目代码到本地 git fetch upstream 5,本地进行修改 6, 提交代码到自己fork的github仓库 git commit -a -m '修改备注' git push 7, 进入github上自己fork的项目,创建提交请求到原始代码 8, 之后等待原始项目的拥有者merge你提交的代码 来源: oschina 链接: https://my.oschina.net/u/4315748/blog/4479032

14-11 猫眼后台多环境解决方案演示

白昼怎懂夜的黑 提交于 2020-08-08 08:48:18
数据库是docker做安装,应用也是docker做安装,所以数据库这里的配置不能写成这个样子 容器之间是不能通过127.0.0.1去访问的,虽然他们都是在同一台机器上。但是他们是两个完全不同的两个虚拟环境。 这些都是要变化的,所以我们要考虑多环境。 首先我们有两种方式可以去做,一种方式是SpringBoot里面本身给我们提供了。profile. 我们在provider里面有演示多个profile的形式。 这里我们就不使用profile的形式了。 以为这个数据库的地址可能是经常会变化的。profile更适合的是,你在测试环境、预发环境、生产环境,他们三个值相对固定,但是在每一个环境里面又不同, 举个例子,比如说我们logback的日志, 比如说开发环境,我们可以在dev的目录下, 测试环境可以在test之类的目录下,这种情况比较适合profile的形式。 这种可变的变量呢? 用这种方式去引入,冒号后免的是默认值。 这形式是什么意思呢?它会读取我们的环境变量。MYSQL_HOST如果你的环境变量有它则就会读进来,如果没有默认值就是127.0.0.1 这些都是MySql给我们提供的一些基础的内容,大家如果不知道呢,可以对这块进行深入的了解。 这样就变成环境变量的引入形式了。 然后把cinema的服务也改了 hall服务也改 user服务 改的这四个 打包操作 直接打我们的父包工程就可以了

Springboot快速上手- 第四篇 自定义配置

半城伤御伤魂 提交于 2020-08-08 07:34:23
1:概述 Spring Boot支持根据应用的实际需要,进行自定义配置, Spring Boot能从多种属性源获得属性,包括如下几处: 2:可调整的属性 对于Spring Boot自动配置的Bean,目前提供了上千个用于微调的属性。 具体的可以参看官方文档: https://docs.spring.io/spring-boot/docs/2.0.0.M4/reference/htmlsingle/#common-application-properties 3: 自定义属性 Spring Boot允许使用properties文件、yml文件或者命令行参数作为外部配置,并提供自定义属性的支持。比如我们可以在application.properties配置一些常量,例如: cc.add.k1=k1vv cc.add.k2=k222 然后直接在要使用的地方通过注解@Value(value=”${config.name}”)就可以绑定到你想要的属性上面 1:使用@Value注解,可以直接将属性值注入到你的beans中,也可以通过Spring的Environment抽象或绑定到结构化对象来访问。 2:如果属性太多了,一个个绑定到属性字段上太累,官方提倡绑定一个对象的bean,比如:这里我们建一个ConfigBean.java类,顶部需要使用注解@ConfigurationProperties

Setting environment variables of Sentry dynamically for logback.xml Sentry appender

寵の児 提交于 2020-08-08 05:10:51
问题 My app is using slf4j and naturally, I have a logback.xml file. I try to add a Sentry appender to this file. This is my logback.xml file. <appender name="CONSOLE-INFO" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <target>System.out</target> <encoder> <pattern>%d %p %c{1.} %m%n</pattern> </encoder> </appender> <appender name="CONSOLE-ERROR" class="ch

Setting environment variables of Sentry dynamically for logback.xml Sentry appender

给你一囗甜甜゛ 提交于 2020-08-08 05:09:32
问题 My app is using slf4j and naturally, I have a logback.xml file. I try to add a Sentry appender to this file. This is my logback.xml file. <appender name="CONSOLE-INFO" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <target>System.out</target> <encoder> <pattern>%d %p %c{1.} %m%n</pattern> </encoder> </appender> <appender name="CONSOLE-ERROR" class="ch

别在 Java 代码里乱打日志了,这才是正确的打日志姿势!

那年仲夏 提交于 2020-08-07 21:16:06
使用slf4j 使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。 实现方式统一使用: Logback框架 打日志的正确方式 什么时候应该打日志 当你遇到问题的时候,只能通过debug功能来确定问题,你应该考虑打日志,良好的系统,是可以通过日志进行问题定为的。 当你碰到if…else 或者 switch这样的分支时,要在分支的首行打印日志,用来确定进入了哪个分支 经常以功能为核心进行开发,你应该在提交代码前,可以确定通过日志可以看到整个流程 基本格式 必须使用参数化信息的方式: logger.debug("Processing trade with id:[{}] and symbol : [{}] ", id, symbol); 对于debug日志,必须判断是否为debug级别后,才进行使用: if (logger.isDebugEnabled()) { logger.debug("Processing trade with id: " +id + " symbol: " + symbol); } 不要进行字符串拼接,那样会产生很多String对象,占用空间,影响性能。 反例(不要这么做): logger.debug("Processing trade with id: " + id + " symbol: " + symbol); 使用[]进行参数变量隔离

2020Java项目框架搭建系列(Java进阶学习路线)

不打扰是莪最后的温柔 提交于 2020-08-06 21:22:22
前言: 已经工作4年,真是时间飞逝。 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了。 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务逻辑开发。 如果你更努力一点,你可能有去摸索一些配置的作用,一些问题的排查会更有经验和自己的想法。 如果你好奇心更强一点,可能会去了解一些框架的原理,各个框架之间是怎么相互协助工作的。 自己能否从无到有将这些框架串联起来。 想写一系列这样的文章: 将Java项目开发过程中的一些框架,如何一步步串联起来,并且结合源码探索其核心部分原理。 以及项目从小项目演变到大项目的过程中,需要开发框架以及结构变化。 以及特定业务场景设计。 具体概请见下文。 大概使用的开发框架及工具: 基本工具: Eclipse、Maven、Tomcat 前端: Jquery、Vue.js、 Element 后台核心框架: Spring、SpringMVC、MyBatis 后台辅助框架: 日志框架Logback、安全框架Shiro、任务调度框架Quartz 分布式框架: Dubbo、RabbitMQ、Redis………….. 除了这些框架还有一些特定业务场景,以及高扩展高可用的架构演变过程等等。 主要分为下面三个阶段博客提纲。 阶段一:集中式基本架构 一、基本工具: Eclipse、Maven、Tomcat 二