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用“我”启动