spring boot中配置日志log和热部署

Java的日志有很多 个人强烈不推荐log4j ,推荐log4j2和logback

在高并发,多线程的环境下log4j1 的性能和log4j2相比可以用junk来形容  对就是junk。log4j2的异步模式表现了绝对的性能优势,优势主要得益于Disruptor框架的使用,logback比log4j1强但比log4j2弱。此外常规情况下logback要比log4j2的性能优越,毕竟logback是基于log4j的基础上优化的。LogBack和Log4J2是Log4j的改良版本,比Log4j拥有更多的特性,同时也带来很大性能提升。很大的高并发情况下推荐不用logback代替log4j2而是使用 slf4j配合两者之一使用,别配合log4j1就行。

  回到正题,springboot中配置logback

spring boot已经很好的融合了log back并由springboot团队维护了一个spring-boot-starter-logging依赖模块  只需要添加依赖项即可

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </dependency>

可以开箱即用  也可以自己设置配置:

  在properties或者yml中指定你的loggin.config=XXXXXXXXX.xml即可

log4j2同上把loggin改成log4j2即可

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

热部署  有点类似于自动编译吧  然后部署了以后不用在你修改过文件后重新加载所有的内容,包括必须重新加载和非必须重新加载的 如第三方的jar包

配置:

       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
            <scope>true</scope>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                </configuration>
            </plugin>
        </plugins>
    </build>
 <configuration>
                    <fork>true</fork>
                </configuration>

  这个不要忘了 就是告诉maven用“我”启动

原文地址:https://www.cnblogs.com/notably/p/10710294.html

时间: 2024-10-12 00:08:06

spring boot中配置日志log和热部署的相关文章

Spring Boot - Logback配置日志要考虑哪些因素

Spring Boot - Logback配置日志 出于性能等原因,Logback 目前是springboot应用日志的标配: 当然有时候在生产环境中也会考虑和三方中间件采用统一处理方式.@pdai Spring Boot - Logback配置日志 配置时考虑点 实现范例 综合范例 在配置前可以参考如下文章 參考文档 代码示例 最全的Java后端知识体系 https://www.pdai.tech, 每天更新中.... 配置时考虑点 支持日志路径,日志level等配置 日志控制配置通过appl

【spring boot logback】spring boot中logback日志乱码问题

在初次使用logback的自定义配置文件完整的控制spring boot日志后,发现了一个无法忍受的问题,就是日志乱码. 控制台看到打印日志乱码如下: 而日志文件打开: 记事本打开 sublime打开 关于这个问题,分析如下: 1.打印的"进入Controller日志控制中心---->>>"字样可以看出,至少代码本身和IDE环境的编码方式没有任何的关系: 2.打印出来的日志是logback-spring.xml文件起作用之后,显示在控制台的,而日志文件打开后,看到 不

spring boot web项目在IDEA下热部署解决办法(四步搞定)

最近在用spring boot 做一个web站点,修改了类.html.js等,刷新页面,没有生效,非要手动去make一下或者重启,大大降低了开发效率. 什么是热部署? 应用启动后会把编译好的Class文件加载的虚拟机中,正常情况下在项目修改了源文件是需要全部重新编译并重新加载(需要重启应用).而热部署就是监听Class文件的变动,只把发生修改的Class重新加载,而不需要重启应用,使得开发变得简便. 于是乎就在网上找到了一遍文章,安装文章设置,成功实现热部署,修改完刷新页面就能马上看到效果. 1

Spring Boot 中配置定时任务,实现多线程操作

参考的代码部分 https://git.oschina.net/jokerForTao/spring_boot_schedule 一目了然!

Spring boot中使用log4j

我们知道,Spring Boot中默认日志工具为logback,但是对于习惯了log4j的开发者,Spring Boot依然可以很好的支持,只是需要做一些小小的配置功能.Spring Boot使用log4j只需要一下几步 引入log4j依赖 在创建Spring Boot工程时,我们引入了spring-boot-starter,其中包含了spring-boot-starter-logging,该依赖内容就是Spring Boot默认的日志框架Logback,所以我们在引入log4j之前,需要先排除

记一次spring boot中MongoDB Prematurely reached end of stream的异常解决

在spring boot项目中使用了mongodb,当一段时间没有操作mongodb,下次操作mongodb时就会出现异常.异常如下: org.springframework.data.mongodb.UncategorizedMongoDbException: Prematurely reached end of stream; nested exception is com.mongodb.MongoSocketReadException: Prematurely reached end o

Spring Boot中实现logback多环境日志配置

在Spring Boot中,可以在logback.xml中的springProfile标签中定义多个环境logback.xml: <springProfile name="production"> <root level="DEBUG"> <appender-ref ref="STDOUT"/> </root> </springProfile> <springProfile nam

Spring Boot中使用AOP统一处理Web请求日志

AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是Spring框架中的一个重要内容,它通过对既有程序定义一个切入点,然后在其前后切入不同的执行内容,比如常见的有:打开数据库连接/关闭数据库连接.打开事务/关闭事务.记录日志等.基于AOP不会破坏原来程序逻辑,因此它可以很好的对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率.

Spring boot将配置属性注入到bean类中

一.@ConfigurationProperties注解的使用 看配置文件,我的是yaml格式的配置: // file application.yml my: servers: - dev.bar.com - foo.bar.com - jiaobuchong.com 1 2 3 4 5 6 下面我要将上面的配置属性注入到一个Java Bean类中,看码: import org.springframework.boot.context.properties.ConfigurationProper