前言
今天打开项目发现报的错,但是也没有爆红。但是程序运行就是运行不成功,究竟是什么原因呢?看控制台打印出来的日志
仔细一看,what?怎么会有E盘这个东西,心想我没有建这个东西呀。突然有些手无足措,不知从何开始入手解决这个问题。
exclusion将不用的jar包排除在外
1,发现还有日志报rabit信息,但是没有用rabit呀。最后在查看依赖过程中发现引入itoo包时里面就有rabit,所以就用了…将不需要的依赖的jar包排除在外.
<!--ucp返回提示信息-->
<dependency>
<groupId>com.dmsdbj.itoo</groupId>
<artifactId>ucp-tool</artifactId>
<version>2.0.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
</exclusion>
</exclusions>
</dependency>
这里就将rabbit依赖的jar包排除在外了。
logo4j2配置文件
1,根据日志的提示,找到自己的E盘是否有log,没有就创建一个。再次启动发现仍然报错。
2,最后发现是logo4j2.xml文件将日志打印的位置写死了
如图位置,但这是修改后能启动的日志配置。
日志配置代码:
<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!-- status log4j2内部日志级别 -->
<configuration status="INFO">
<!-- 全局参数 -->
<Properties>
<Property name="pattern">%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1}:%L -%m%n</Property>
<Property name="displayName">OmoApplication</Property>
</Properties>
<Appenders>
<Console name="console" target="SYSTEM_OUT" follow="true">
<PatternLayout>
<pattern>${pattern}</pattern>
</PatternLayout>
</Console>
<!-- 文件 每次运行程序会自动清空,由append属性决定 -->
<File name="error" fileName="${displayName}_error.log" append="true">
<!-- 指定error 级别的日志 -->
<ThresholdFilter level="ERROR" onMatch="ACCEPT"
onMismatch="DENY" />
<PatternLayout>
<pattern>${pattern}</pattern>
</PatternLayout>
</File>
<!-- 滚动文件 -->
<RollingFile name="rollingFile" fileName="${displayName}.log"
filePattern="${displayName}_%d{yyyy-MM-dd}.log">
<PatternLayout>
<pattern>${pattern}</pattern>
</PatternLayout>
<!-- 按大小划分 -->
<SizeBasedTriggeringPolicy size="50 MB" />
</RollingFile>
</Appenders>
<Loggers>
<!-- <Logger name="org.apache.catalina.util.LifecycleBase" level="ERROR"
/> <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="WARN"
/> <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="WARN"
/> -->
<Logger name="org.springframework" level="WARN" />
<Logger name="com.tfjybj.omo" level="INFO" />
<Root level="INFO">
<AppenderRef ref="console"></AppenderRef>
<AppenderRef ref="error"></AppenderRef>
<AppenderRef ref="rollingFile"></AppenderRef>
</Root>
</Loggers>
</configuration>
log4j2和springboot自带的logback的区别
不同点:
1,log4j2的性能更好些,
https://www.pianshen.com/article/44761143587/
相同点:
1,,两者都能进行日志的持久化
2,log4j2也能通过配置让打印出的日志格式像logback一样好看。
建议:在对日志输出场景比较多的情况下可以考虑将logback更换为log4j2;