springboot 默认日志配置SpringBoot 日志配置 默认采用LogBack作为日志输出!日志格式化具体输出的格式详解如下:2019-01-10 17:30:08.685 :日期精确到时间毫秒级别info是日志级别 : 可以设置为其他的级别如debug,error等9184 :进程id— : 分割符main: 表示主线程com.xxxxx: 通常为源码类“:” 后即为详细的日志信息控制台输出级别在application.properties文件中配置如果你的终端支持ANSI,设置彩色输出会让日志更具可读性。通过在application.properties中设置spring.output.ansi.enabled参数来支持。NEVER:禁用ANSI-colored输出(默认项)DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项)ALWAYS:总是使用ANSI-colored格式输出,若终端不支持的时候,会有很多干扰信息,不推荐使用#多彩输出spring.output.ansi.enabled=detect#日志级别logging.level.root=info#所有包下面都以debug级别输出logging.level.*=info默认输出格式可以通过 logging.pattern.console = 进行配置文件输出springboot默认会将日志输出到控制台,线上查看日志时会很不方便,一般我们都是输出到文件。需要在application.properties配置#日志输出路径问价 优先输出 logging.filelogging.file=C:/Users/tizzy/Desktop/img/my.log#设置目录,会在该目录下创建spring.log文件,并写入日志内容,logging.path=C:/Users/tizzy/Desktop/img/#日志大小 默认10MB会截断,重新输出到下一个文件中,默认级别为:ERROR、WARN、INFOlogging.file.max-size=10MBlogging.file 和 logging.path 同时设置时候会优先使用logging.file 作为日志输出。自定义日志配置日志服务在ApplicationContext 创建之前就被初始化了,并不是采用Spring的配置文件进行控制。那我们来如何进行自定义配置日志呢。springboot为我们提供了一个规则,按照规则组织配置文件名,就可以被正确加载:Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovyLog4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xmlLog4j2:log4j2-spring.xml, log4j2.xmlJDK (Java Util Logging):logging.propertiesLogBack xml配置<?xml version=“1.0” encoding=“UTF-8”?><configuration> <!– 控制台打印日志的相关配置 –> <appender name=“STDOUT” class=“ch.qos.logback.core.ConsoleAppender”> <!– 日志格式 –> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%level] - %m%n</pattern> </encoder> <!– 日志级别过滤器 –> <filter class=“ch.qos.logback.classic.filter.LevelFilter”> <!– 过滤的级别 –> <level>WARN</level> <!– 匹配时的操作:接收(记录) –> <onMatch>ACCEPT</onMatch> <!– 不匹配时的操作:拒绝(不记录) –> <onMismatch>DENY</onMismatch> </filter> </appender> <!– 文件保存日志的相关配置 –> <appender name=“ERROR-OUT” class=“ch.qos.logback.core.rolling.RollingFileAppender”> <!– 保存日志文件的路径 –> <file>/logs/error.log</file> <!– 日志格式 –> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n</pattern> </encoder> <!– 日志级别过滤器 –> <filter class=“ch.qos.logback.classic.filter.LevelFilter”> <!– 过滤的级别 –> <level>ERROR</level> <!– 匹配时的操作:接收(记录) –> <onMatch>ACCEPT</onMatch> <!– 不匹配时的操作:拒绝(不记录) –> <onMismatch>DENY</onMismatch> </filter> <!– 循环政策:基于时间创建日志文件 –> <rollingPolicy class=“ch.qos.logback.core.rolling.TimeBasedRollingPolicy”> <!– 日志文件名格式 –> <fileNamePattern>error.%d{yyyy-MM-dd}.log</fileNamePattern> <!– 最大保存时间:30天–> <maxHistory>30</maxHistory> </rollingPolicy> </appender> <!– 基于dubug处理日志:具体控制台或者文件对日志级别的处理还要看所在appender配置的filter,如果没有配置filter,则使用root配置 –> <root level=“debug”> <appender-ref ref=“STDOUT” /> <appender-ref ref=“ERROR-OUT” /> </root></configuration>Log4j引如Log4j日志时候 需要 排除logBack日志<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j</artifactId></dependency># 日志级别,日志追加程序列表…log4j.rootLogger=DEBUG,ServerDailyRollingFile,stdout#文件保存日志log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender#文件保存日志日期格式log4j.appender.ServerDailyRollingFile.DatePattern=’.‘yyyy-MM-dd_HH#文件保存日志文件路径log4j.appender.ServerDailyRollingFile.File=/mnt/lunqi/demo/log4j.log#文件保存日志布局程序log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout#文件保存日志布局格式log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n#文件保存日志需要向后追加(false是测试的时候日志文件就清空,true的话就是在之前基础上往后写)log4j.appender.ServerDailyRollingFile.Append=false#控制台日志log4j.appender.stdout=org.apache.log4j.ConsoleAppender#控制台日志布局程序log4j.appender.stdout.layout=org.apache.log4j.PatternLayout#控制台日志布局格式log4j.appender.stdout.layout.ConversionPattern=%d yyyy-MM-dd HH:mm:ss %p [%c] %m%nLog4j2同样排除LogBack干扰,并且引入Log4j2依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></dependency>log4j2.xml<?xml version=“1.0” encoding=“UTF-8”?><configuration> <appenders> <Console name=“Console” target=“SYSTEM_OUT”> <ThresholdFilter level=“trace” onMatch=“ACCEPT” onMismatch=“DENY” /> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" /> </Console> <File name=“log” fileName=“log/test.log” append=“false”> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" /> </File> <RollingFile name=“RollingFile” fileName=“logs/spring.log” filePattern=“log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log”> <PatternLayout pattern="%d{yyyy-MM-dd ‘at’ HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" /> <SizeBasedTriggeringPolicy size=“50MB” /> </RollingFile> </appenders> <loggers> <root level=“trace”> <appender-ref ref=“RollingFile” /> <appender-ref ref=“Console” /> </root> </loggers></configuration>更多查看官方文档https://docs.spring.io/spring…