springboot错误日志分开打印与maven打包实用配置

log日志配置

logback-dev.xml文件

<?xml version="1.0" encoding="UTF-8" ?>

<configuration>

   <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
      <layout class="ch.qos.logback.classic.PatternLayout">
         <pattern>
            %d - %msg%n
         </pattern>
      </layout>
   </appender>

   <!--每天生成日志的类-->
   <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
      <filter class="ch.qos.logback.classic.filter.LevelFilter">
         <level>ERROR</level>   <!--过滤掉error的级别-->
         <onMatch>DENY</onMatch>
         <onMismatch>ACCEPT</onMismatch>
      </filter>
      <encoder>
         <pattern>
            %msg%n
         </pattern>
      </encoder>
      <!--滚动策略-->
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
         <!--路径-->
         <fileNamePattern>${log_dir}/log.%d{yyyy-MM-dd}.log</fileNamePattern>
      </rollingPolicy>
   </appender>


   <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
         <level>ERROR</level>  <!--//打印error-->
      </filter>
      <encoder>
         <pattern>
            %msg%n
         </pattern>
      </encoder>
      <!--滚动策略-->
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
         <!--路径-->
         <fileNamePattern>${log_dir}/errorLog.%d{yyyy-MM-dd}.log</fileNamePattern>
      </rollingPolicy>
   </appender>

   <root level="info">
      <appender-ref ref="consoleLog" />
      <appender-ref ref="fileInfoLog" />
      <appender-ref ref="fileErrorLog" />
   </root>

</configuration>

properties文件下添加

# LOG
logging.config=classpath:./logback-dev.xml
---二选一
# LOG
logging.path=./log
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.level.root=INFO
logging.level.org.springframework=INFO,console

yml文件配置

# LOG
logging:
  config:
   classpath:./logback-dev.xml

注意:LOG配置的classpath:./logback-dev.xml 中间不能有空格

maven打包配置

放在项目的pom文件中
<build>
   <plugins>
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <configuration>
            <!-- 指定JDK编译版本,如果不指定,在maven update project时,会自动指定为环境设置的jdk版本 -->
            <source>${java.version}</source>
            <target>${java.version}</target>
         </configuration>
      </plugin>
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <configuration>
            <excludes>
               <!-- 不打包静态资源 -->
               <exclude>/static/**</exclude>
               <!-- 不打包配置文件,配置文件运行时可以放在jar的config目录或classpath根目录下 -->
               <exclude>/application.properties</exclude>
            </excludes>
         </configuration>
      </plugin>
      <plugin>
         <!-- spring-boot打包插件,打包过程,是把maven-jar-plugin打的包解压重新打包,原始包被更名为.original文件 -->
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
         <executions>
            <execution>
               <goals>
               <!--打包过程为 repackage 如果配置为run,需要把excludeGroupIds注释掉,同时可能无法启动GUI界面 -->
                  <goal>repackage</goal>
               </goals>
            </execution>
         </executions>
         <configuration>
            <classesDirectory>${project.build.outputDirectory}</classesDirectory>
            <!-- 工程中有main方法的类超过1个,需要指定主类 -->
            <mainClass>com.sunny.StartUp</mainClass>
         </configuration>
      </plugin>
   </plugins>

   <resources>
      <resource>
         <directory>src/main/resources</directory>
         <filtering>false</filtering>
      </resource>
      <resource>
         <directory>src/main/java</directory>
               <includes>
                   <include>**/*.xml</include>
               </includes>
      </resource>
      <resource>
         <directory>src/test/resources</directory>
      </resource>
   </resources>
   <sourceDirectory>src/main/java</sourceDirectory>
   <testSourceDirectory>src/test/java</testSourceDirectory>

   <!-- compile package install,过程为package时,spring-boot-maven-plugin的repackage生效 -->
   <defaultGoal>
      package
   </defaultGoal>
</build>

直接复制到pom文件的标签中,如有不适用,请留言

发布了10 篇原创文章 · 获赞 15 · 访问量 1665

猜你喜欢

转载自blog.csdn.net/weixin_44761211/article/details/105467728