首页
学习
活动
专区
圈层
工具
发布

Spring Boot系列——如何集成Log4j2

上篇《Spring Boot系列——日志配置》介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack。...我们看到并没有声明版本,这是因为我在项目的父级pom文件中引入了dependencyManagement。...当在父级pom声明某个版本的依赖时,如果子pom所在项目并没有用到的话,是不会依赖这个声明的jar包的,需要在子pom主动添加依赖才生效,这个父级pom中的dependencyManagement是用来做统一版本的...但是这样还不够,Spring Boot并不知道log4j2.xml是干嘛的,需要通过在application.properties文件中显示声明才行 logging.config= classpath:...但是如果我们注释掉application.properties中的logging.config= classpath:log4j2.xml,运行SpringBootDemoApplication ?

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Maven 打包命令遇到的坑

    今天做定时任务的时候发现定时任务程序中的resources文件夹下面没有被打进去,导致部署在测试环境启动读取不到配置文件,本以为是框架的问题,原来是自己的问题。...那idea下的maven命令为什么是这样呢 Clean compile install package….....在我原来自己写的一个用于测试的定时程序是maven的Java web程序带有webapp的文件,这时候打包会将resources里也打包进去,由于定时任务程序的maven pom里有 如果是Java程序则不会包含META-INF,log4j2.xml文件。 建议:如果是需要读取配置文件的项目,建议创建项目的时候使用maven Java web的方式创建项目骨架。...那么我是怎么解决的呢,就是将配置文件放在与lib同级的目录下,完了放到线上测试,或者正式机上跑。前提是程序会自动从项目根目录去找配置项。

    59120

    教你搭SpringBoot环境

    热部署我们在定义项目依赖时添加了springboot-devtools,该模块可以实现热部署的功能,即在开发过程中可以不重启应用令代码生效,非常方便 livereload 组件会定时扫描类路径下的class...log4j2.x 在src/main/resources/下新建一个log4j2.xml文件,内容如下: log4j2.xml <?...关于log4j2的用法,可以参考这个文章 五、打包部署 应用最终需要发布到某个环境,那么我们怎么对springboot应用进行打包呢?...比如应用端口,安全证书、或是日志配置等,这时我们希望在jar包外部存放这些文件; 其次是执行脚本,在云环境上发布应用,通常需要提供启停脚本,包括一些监控功能脚本,这些需要作为项目打包的一部分 最后,将应用程序发布为...start.sh stop.sh 小结 本文将一个springboot项目从初始化、开发、配置、打包的整个流程进行了详细介绍,希望读者对该框架能产生整体性的了解。

    63220

    WebService: SpringBoot集成WebService实践二

    简介 该篇为上一篇的延伸,上一篇知识简单介绍了WebService 的使用,该篇会对代码中模块及功能进行详细介绍,以作对WebService 进一步的理解。...with the name xxxx 对应于argetNamespace=“http://server.webservice.example.com”, endpointInterface:服务接口全路径(如果是没有接口...,默认在body中 @WebParam name:接口的参数, partName:, targetNamespace: header: 默认是false, 是否将参数放到头信息中,用于保护参数,默认在...通过对BUS进行扩展,可以方便地容纳自己的资源,或者替换现有的资源。默认Bus实现基于Spring架构,通过依赖注入,在运行时将组件串联起来。BusFactory负责Bus的创建。...public class TestSoap { public static void main(String[] args) throws Exception { //一般如果没有注解

    1.3K10

    Docker 详细部署不香吗?

    CentOS安装docker docker要求CentOS在7.0以后的版本,如果你的系统版本还在7.0以前,请先升级一下版本在进行安装,同时不支持32位的系统,内核版本至少3.10。...我现在已经将项目拷贝到服务器中,我们现在需要将它打包到docker中,借助maven实现打包,如果还没有安装maven的,请先安装maven,切换到项目的根目录 ?...我们发现docker的镜像中多了一个springboot/spring-boot-docker,没错,这个就是我们的springboot项目,既然镜像已经生成,那么如何使用这个镜像呢?...我们发现这里已经出现了我们之前启动的镜像,所以这基本上代表启动成功了,为了验证是否启动成功,我们在浏览器输入测试的接口:ip:9999/test ?...这个时候我们就能看到控制台的日志了,如何我们想看log4j2输出的文件日志呢? 还记得我们在log4j2中配置了日志的输出目录了吗? ? 没错,就是这个, 我们切换到这个目下 ?

    92320

    补习系列-springboot项目基础搭建课

    热部署我们在定义项目依赖时添加了springboot-devtools,该模块可以实现热部署的功能,即在开发过程中可以不重启应用令代码生效,非常方便 livereload 组件会定时扫描类路径下的class...log4j2.x 在src/main/resources/下新建一个log4j2.xml文件,内容如下: log4j2.xml <?...关于log4j2的用法,可以参考这个文章 五、打包部署 应用最终需要发布到某个环境,那么我们怎么对springboot应用进行打包呢?...比如应用端口,安全证书、或是日志配置等,这时我们希望在jar包外部存放这些文件; 其次是执行脚本,在云环境上发布应用,通常需要提供启停脚本,包括一些监控功能脚本,这些需要作为项目打包的一部分 最后,将应用程序发布为...,希望读者对该框架能产生整体性的了解。

    55620

    Docker 部署SpringBoot项目不香吗?

    CentOS安装docker docker要求CentOS在7.0以后的版本,如果你的系统版本还在7.0以前,请先升级一下版本在进行安装,同时不支持32位的系统,内核版本至少3.10。...我现在已经将项目拷贝到服务器中,我们现在需要将它打包到docker中,借助maven实现打包,如果还没有安装maven的,请先安装maven,切换到项目的根目录 ?...我们发现docker的镜像中多了一个springboot/spring-boot-docker,没错,这个就是我们的springboot项目,既然镜像已经生成,那么如何使用这个镜像呢?...我们发现这里已经出现了我们之前启动的镜像,所以这基本上代表启动成功了,为了验证是否启动成功,我们在浏览器输入测试的接口:ip:9999/test ?...这个时候我们就能看到控制台的日志了,如何我们想看log4j2输出的文件日志呢? 还记得我们在log4j2中配置了日志的输出目录了吗? ? 没错,就是这个, 我们切换到这个目下 ?

    1.3K20

    【asp.net core 系列】9 实战之 UnitOfWork以及自定义代码生成

    在实际开发中,我们不能添加一条数据或者做一次修改就调用一次SaveChanges,这完全不现实。...UnitOfWork的方法,那么问题来了,我们该在什么时候调用呢,或者说如何调用呢?...我的建议是创建一个ActionFilter,针对所有的控制器进行SaveChanges进行处理。...所以我推荐这样操作,这里简单演示一下如何创建拦截器: 在Web的根目录下,创建一个Filters目录,这个目录里用来存储一些过滤器,创建我们需要的过滤器: using Domain.Insfrastructure...虽然说,EF Core约定优先,但是如果默认约定的话,得在DBContext中声明 DbSet 来声明这个字段,实体类少的话,比较简单。如果多个数据表的话,就会非常麻烦。

    79810

    【asp.net core 系列】10 实战之ActionFilter

    0.前言 在上一篇中,我们提到了如何创建一个UnitOfWork并通过ActionFilter设置启用。...上图是这四个方法在一次请求中执行的顺序。在一次请求真正执行之前,想要拦截这个请求,应该使用OnActionExecuting。 为什么单独说这个呢?...1.2 在ActionFilter中我们能做什么 我们来简单介绍一下,四个方法中的四种上下文类型,看一看里面有哪些我们可以利用的方法: 1.2.1 ActionExecutingContext 这是一个...Result 此处对Result进行修改不会屏蔽执行的ActionResult,但是可以向用户隐藏对应的实现 1.2.3 ResultExecutingContext 这是在Result渲染之前执行的上下文...如果需要使用asp.net core的默认依赖注入可以使用 AddService进行配置。(依赖注入的内容在后续会讲解)。 3.

    84930

    Log4j2源码分析系列:(一)配置加载

    大部分使用maven管理依赖的项目也可能分环境配置,不同环境读取不同的log4j2文件,这时它一般在/profiles/${env}/文件夹下。...为什么我们平时见到的都是log4j2.xml,而不是其他名字? 这个配置文件是如何被加载的? 回答以上问题,就是本文的初衷。 提示 1....请注意:这里的factory是Log4jContextFactory,它是在LogManager中的静态代码块中初始化的,具体细节后面会补充。 现在,我们先进入getContext看看: ?...这里尝试用不同的条件获取config,如果最终config为null,就会打印error日志,告诉你没有找到配置文件。由于目前我们还没有配置,就会走到466行。...其实,在调用LogManager.getContext(cl, false);之前,LoggerManager中的静态代码块会提前被调用,我们看一下: ? 我们看89~100行代码即可: ?

    3.3K20

    spring boot docker部署_docker部署java项目

    安装docker 既然docker这么神奇,那我们如何安装docker呢?我们一起来走一下吧。...CentOS安装docker docker要求CentOS在7.0以后的版本,如果你的系统版本还在7.0以前,请先升级一下版本在进行安装,同时不支持32位的系统,内核版本至少3.10。...springboot项目没有问题,现在我们将项目拷贝到服务器中。...打包springboot到docker 我现在已经将项目拷贝到服务器中,我们现在需要将它打包到docker中,借助maven实现打包,如果还没有安装maven的,请先安装maven,切换到项目的根目录...执行 docker images 我们发现docker的镜像中多了一个springboot/spring-boot-docker,没错,这个就是我们的springboot项目,既然镜像已经生成,那么如何使用这个镜像呢

    1.8K20

    日志那些事儿——由一次bug引发的思考-client jar应该如何输出日志

    以slf4j+logback的使用为例,我们的步骤为: 在工程中引入slf4j、logback相关Jar包 编写配置文件logback.groovy/logback.xml等 使用LoggerFactory.getLogger...所以,日志停止输出的原因很肯定是因为slf4j binding到了log4j-slf4j-impl中的StaticLoggerBinder,而没有使用logback进行输出。...那么当client jar有日志输出需求,如何更好地进行设计呢?...我觉得得从以下几个方面考虑: 缩小jar包依赖范围,如果是基于maven,可以把client工程中依赖的日志相关jar scope设置为provided....总结 如果在client jar中有日志输出的需求,一定要好好设计,千万不能坑了使用者。下篇文章将围绕如何设计包含日志输出的client jar。

    64440

    【死磕Sharding-jdbc】---orchestration简介使用

    而sharding-jdbc内部实现架构几乎没有任何改变。 2. 注册中心数据结构 注册中心在定义的命名空间下,创建数据库访问对象运行节点,用于区分不同数据库访问实例。...当节点信息发生变化,sharding-jdbc将刷新配置信息; 下一篇文章基于源码分析这三步骤sharding-jdbc的编排治理是如何实现的; 4.问题 遗憾的是,sharding-jdbc2.x没有提供可视化操作途径...(版本为2.0.3)进行分库分表,并集成sharding-jdbc2.x最新特性orchestration; 假设分库分表行为如下: 将authuser表分到4个库(user0~user_3)中; 其他表不进行分库分表...--default-data-source指定默认数据源, 即没有在申明的logic-table表, 即不需要分库分表的表, 全部走默认数据源-->...时会输出逻辑SQL和实际SQL信息; 重启问题 上面的修改只会影响zookeeper即配置中心里的配置,而程序里的配置并没有变更,如果重启服务的话,配置又会退回去,这个问题怎么办?

    2.2K40

    Spring中的XML schema扩展机制

    作为使用者,大多数人只需要关心这些参数如何配置,但不知道有没有人好奇过,它们是如何加载进入 Spring 的 IOC 容器中被其他组件使用的呢?...我们的目的便是想要实现一个 kirito XML schema,我们的项目中可以自定义 kirito.xml,在其中会以 kirito 为标签来定义不同的类,并在最终的测试代码中验证这些声明在 kirito.xml...如果配置得当,可以使用自动完成功能让用户在事先定义好的枚举类型中进行选择。...Dubbo中的XML schema扩展 最后我们以 Dubbo 为例,看看一个成熟的 XML schema 扩展是如何被应用的。 ?...刚好对应了四个标准的扩展步骤,是不是对 XML 配置下的 Dubbo 应用有了更好的理解了呢?

    1.1K20

    Springboot 日志、配置文件、接口数据如何脱敏?这样子实现才叫优雅!

    下面带大家从以下三个方面讲解一下隐私数据如何脱敏,也是日常开发中需要注意的: 配置文件数据脱敏 接口返回数据脱敏 日志文件数据脱敏 文章目录如下: 二、配置文件如何脱敏?...经常会遇到这样一种情况:项目的配置文件中总有一些敏感信息,比如数据源的url、用户名、密码....这些信息一旦被暴露那么整个数据库都将会被泄漏,那么如何将这些配置隐藏呢?...上图的配置并没有实现数据脱敏,这是普通的配置,使用的是PatternLayout 3....自定义PatternLayout实现数据脱敏 步骤2中的配置使用的是 PatternLayout实现日志的格式,那么我们也可以自定义一个PatternLayout来实现日志的过滤脱敏。...修改log4j2.xml配置文件 其实这里修改很简单,原配置文件是直接使用 PatternLayout进行日志格式化的,那么只需要将默认的 这个节点替换成 <CustomPatternLayout

    1.8K10

    SpringBoot实现lib包与代码本体分离

    这三次上传的时间,我就觉得等得没有必要了,都是自己的源代码改动,没有涉及到依赖包的新增修改,打出来的Jar包还是170M多,也难怪别人说Java,SpringBoot重呢 那么结合这次不愉快的体验,我找了方法对...Jar包进行优化瘦身,也就是将其中的lib包从jar包本体中剥离出来 看看是如何做的吧 二、Maven 没错,既然是打Jar包,那么肯定是我们的构建工具Maven了,我们来看看pom.xml文件,要经过哪些修改...lib包给剔除,那么现在,我们来重新打包一下,结果如下 如果我们的lib包有改动,换了依赖,或者新增了依赖,那么我们就需要更新部署的lib包。...,这一次应该是没有问题了,看下结果 完美,成功分离 三、最后 那么如何去启动这个Jar包呢,我直接下面的命令试了一下 java -jar banmoon-web-base.jar 发现不行,没找到对应的包啊...那么该如何启动这个Jar包呢,这个时候,需要换一种Jar启动脚本,我们换这个试试看 这个时候,就能够顺利启动了,非常nice 好了,希望大家能够掌握本项技能,让你的工程也能够通过这样进行瘦身,优化传输速度

    66520

    浅谈Log4j和Log4j2的区别

    (不过我想你们没有那么调皮吧,嘿嘿) 3、文件渲染 log4j想要生效,我们需要在web.xml中进行配置, org.springframework.web.util.Log4jConfigListener...log4j2就比较简单,以maven工程为例,我们只需要把log4j2.xml放到工程resource目录下就行了。...喜欢做学问的小伙伴,有兴趣可以去研究下,照我估计应该是在log4j2的包里面配置死了,而且大家可以尝试下怎么自定义log4j2.xml的位置。...,我们不能局限在已知的知识领域中,要不断去创新,去尝试!...附: 日志的级别:     我们现在要调用logger的方法,不过在这个Logger对象中,有很多方法,所以要先了解log4j的日志级别,log4j规定了默认的几个级别:trace<debug<info

    1.3K20

    Spring中的XML schema扩展机制

    作为使用者,大多数人只需要关心这些参数如何配置,但不知道有没有人好奇过,它们是如何加载进入 Spring 的 IOC 容器中被其他组件使用的呢?...我们的目的便是想要实现一个 kirito XML schema,我们的项目中可以自定义 kirito.xml,在其中会以 kirito 为标签来定义不同的类,并在最终的测试代码中验证这些声明在 kirito.xml...如果配置得当,可以使用自动完成功能让用户在事先定义好的枚举类型中进行选择。...Dubbo中的XML schema扩展 最后我们以 Dubbo 为例,看看一个成熟的 XML schema 扩展是如何被应用的。...刚好对应了四个标准的扩展步骤,是不是对 XML 配置下的 Dubbo 应用有了更好的理解了呢?

    1.5K60

    Apache Log4j2详解

    没有日志虽然不会影响项目的正确运行,但是没有日志的项目可以说是Java 强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,...2020.2 IDEA 激活码 通过性能测试得出的结论是Log4j2日志框架性能这么牛逼,那么作为追求卓越的程序猿就得好好学习Log4j2,在项目开发中运用起来。...高级过滤 与Logback一样,Log4j 2支持基于Log事件中的上下文数据,标记,正则表达式和其他组件进行过滤。此外,过滤器还可以与记录器关联。...在配置了的情况下,Log4j自动识别插件并使用它们。 无垃圾机制 在稳态日志记录期间,Log4j 2 在独立应用程序中是无垃圾的,在Web应用程序中是低垃圾。...添加配置文件 默认情况下,Log4j2在classpath下查找名为log4j2.xml的配置文件。你也可以使用Java启动命令指定配置文件的全路径。

    1.5K30
    领券