springboot中logback使用的两种方式

1

在sparingboot配置文件中配置:
logging.file=project.log
logging.path=/root/project
logging.level.root=warn

2

在sparingboot配置文件中配置:
logging.config=classpath:logback-spring.xml
logback-spring.xml配置参考:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <contextName>logback</contextName>
 <property name="PROJECT_NAME" value="xxx" />
 <property name="LOG_FILE_PATH" value="xxx" />

 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
     <encoder>
         <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
         <charset>UTF-8</charset>
     </encoder>
 </appender>

 <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
     <file>${LOG_FILE_PATH}/${APP_NAME}-info.log</file>
     <encoder>
         <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
         <charset>UTF-8</charset>
     </encoder>
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
         <fileNamePattern>${LOG_FILE_PATH}/${PROJECT_NAME}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
             <maxFileSize>100MB</maxFileSize>
         </timeBasedFileNamingAndTriggeringPolicy>
         <maxHistory>15</maxHistory>
     </rollingPolicy>
     <filter class="ch.qos.logback.classic.filter.LevelFilter">
         <level>info</level>
         <onMatch>ACCEPT</onMatch>
         <onMismatch>DENY</onMismatch>
     </filter>
 </appender>

 <root level="info">
     <appender-ref ref="CONSOLE" />
     <appender-ref ref="INFO_FILE" />
 </root>
</configuration>

下面是对配置文件的部分配置说明:
        property:该配置文件中通用的变量,name是变量的名称,value是变量定义的值,在该文件中可以通过${name}的方式来调用;
        appender:日志输出节点,常用的有console、file、rollingfile和socker,其中console是指输出到控制台的输出节点,file是指输出到指定文件的输出节点,rollingfile是指超过指定大小自动归档(rolling)旧的创建新的日志的输出节点,socket是指输出到其他服务器中的输出节点;
        encoder:日志文件输出格式;
        file:日志输出路径及文件名;
        rollingPolicy:日志滚动策略,例子中配置为按照时间滚动;
        fileNamePattern:滚动日志文件路径及文件名配置;
        maxFileSize:最大日志文件大小;
        maxHistory:日志文件最大保留天数;
        filter:日志过滤器,在appender中配置,有 三个返回值,分别是deny,neutral,accept。返回deny,表示日志将立即被抛弃;返回neutral,表示进入到下一个过滤器中进行处理;返回accept,日志会被立即处理,不再经过剩余过滤器,如果appender中有多个过滤器则按照顺序依次进行处理;
        levelFilter:级别过滤器,该过滤器有三个子节点器:level、onMatch、OnMismatch,它会根据onMatch 和 onMismatch选择接收或拒绝日志,但该过滤器只会过滤出刚好符合日志级别的日志,此外还有一个过滤器为ThresholdFilter,这个过滤器会过滤掉低于指定临界值的日志,当日志级别等于或高于临界值时,过滤器返回NEUTRAL;当日志级别低于临界值时,日志会被拒绝;
        以上是本次SpringBoot整合LogBack的经验总结。
 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot使用Logback作为默认的日志框架。Logback是一个功能强大的日志框架,它支持多种输出格式和多种日志级别,并且可以通过配置文件进行灵活的配置。 要使用Logback,只需要在pom.xml文件添加以下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> ``` 然后,在src/main/resources目录下创建logback.xml文件,进行日志配置。例如: ``` <configuration> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="CONSOLE" /> </root> </configuration> ``` 这个配置文件定义了一个名为CONSOLE的输出器,它将日志输出到控制台。日志格式为时间、线程名、日志级别、类名和日志信息。日志级别为INFO,表示只输出INFO级别及以上的日志。 除了控制台输出,Logback还支持输出到文件、数据库等多种方式。可以根据具体需求进行配置。 最后,在代码使用Logger记录日志即可: ``` import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MyService { private static final Logger logger = LoggerFactory.getLogger(MyService.class); public void doSomething() { logger.info("Doing something..."); } } ``` 这样,当MyService的doSomething方法被调用时,日志信息将被记录下来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值