网站建设机器人,建立wordpress用哪个云好,网站建设 网站开发,太原新媒体运营公司在SpringBoot内部中#xff0c;默认就集成了LogBack的日志依赖#xff0c;所以我们其实在实际开发中不需要直接添加该依赖。 你会发现spring-boot-starter其中包含了 spring-boot-starter-logging#xff0c;Spring Boot为我们提供了很多默认的日志配置#xff0c;所以默认就集成了LogBack的日志依赖所以我们其实在实际开发中不需要直接添加该依赖。 你会发现spring-boot-starter其中包含了 spring-boot-starter-loggingSpring Boot为我们提供了很多默认的日志配置所以只要将spring-boot-starter-logging作为依赖加入到当前应用的classpath则“开箱即用”。
本项目以springboot 2.7.5为例
目录
1.引入依赖
2.logback的日志等级
3.logback日志配置文件
4.如何在代码中使用日志输出
5.结果 1.引入依赖 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.5/versionrelativePath/ !-- lookup parent from repository --/parent
2.logback的日志等级
日志级别从低到高分为 TRACE DEBUG INFO WARN ERROR FATAL
3.logback日志配置文件
放在resources下即可
?xml version1.0 encodingUTF-8?
configuration scantrue scanPeriod60 seconds debugfalsecontextNamelogback/contextName!--控制台输出内容的颜色转换以及格式--substitutionProperty namelogging.pattern.consolevalue%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}/!--日志文件输出内容的格式--substitutionProperty namelogging.pattern.filevalue%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}/conversionRule conversionWordclr converterClassorg.springframework.boot.logging.logback.ColorConverter/conversionRule conversionWordwexconverterClassorg.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter/conversionRule conversionWordwExconverterClassorg.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter/!--输出到控制台--appender nameconsole classch.qos.logback.core.ConsoleAppender!--控制台使用layout节点--layout classch.qos.logback.classic.PatternLayoutpattern${logging.pattern.console}/pattern/layout/appender!--按天生成日志--appender namefile classch.qos.logback.core.rolling.RollingFileAppenderPrudenttrue/Prudent!--滚动策略我配置了按天生成日志文件--rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy!--相对路径生成的文件就在项目根目录下--FileNamePatternlogs/%d{yyyy-MM}/%d{yyyy-MM-dd}.log/FileNamePattern!--注意超过365天的日志文件会被删除即使已经按天分开也会删除--MaxHistory365/MaxHistory/rollingPolicy!--日志文件里只保存ERROR及以上级别的日志--filter classch.qos.logback.classic.filter.ThresholdFilterlevelERROR/level/filter!--文件使用encoder节点--encoderPattern${logging.pattern.file}/Pattern/encoder/appender!--这个logger里的配置相当于之前yml里的logging.level.com.lpc: trace--!--additivity的作用--!--true则子Logger不止会在自己的appender里输出还会在root的logger的appender里输出--!--而这个logger里没配置appender所以得交给root打印--!--所以com.lpc包里的日志从TRACE级别开始--!--其他包里的日志根据root的配置从INFO级别开始打印--logger namecom.lpc levelTRACE additivitytrue/loggerroot levelINFOappender-ref refconsole/appender-ref reffile//root/configurationcontextName
每个logger都关联到logger上下文默认上下文名称为“default”。但可以使用contextName标签设置成其他名字用于区分不同应用程序的记录。
property
用来定义变量值的标签property标签有两个属性name和value其中name的值是变量的名称value的值时变量定义的值。通过property定义的值会被插入到logger上下文中。定义变量后可以使“${name}”来使用变量。如上面的xml所示。
logger
用来设置某一个包或者具体的某一个类的日志打印级别以及指定appender。
root
根logger也是一种logger且只有一个level属性。
appender
负责日志的组件。
4.如何在代码中使用日志输出
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class Test {private static final Logger LOGGER LoggerFactory.getLogger(Test .class);public static void main(String[] args) {LOGGER.info(这是一条log数据i);try{} catch (Exception e) {LOGGER.info(错误信息 e.getMessage());}}
}当然如果有引入lombok的话可以更简单
引入lombok dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency Slf4j
public class Test{public String getInfo() {log.info(日志信息);}
} 5.结果