【SpringBoot】将log日志放置外部logs文件夹下

方法一:

在application配置文件中加入以下配置:

logging:
  level:
    具体的包名: debug #日志等级
  logback:
    rollingpolicy:
      max-history: 7 #日志清除时间
      clean-history-on-start: false #第一次运行时是否清除日志
  file:
    path: "./"
    name: "logs/日志文件名称.log"

 添加此配置运行后:会在项目的根目录下生成logs文件夹及其对应的日志文件

 部署到Linux系统中:会在jar包所在的目录中生成logs文件夹及其对应的日志文件

 配置log日志的其他条件

log日志配置所需maven:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

 所需注释:@Slf4j

 获取对象 调用方法:

public static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(类名.class);

log.info("描述文字 {} ", 参数); //  {} 是 占位符

日志等级

trace:最低等级

debug:调试用,通常用于跟踪程序进展

info: 记录用,通常用于记录程序行为

warn:警告

error:错误

fatal:灾难性错误,最高等级

 方法二:

将xml文件放到resource下

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
    <contextName>logback</contextName>
    <property name="log.path" value="${user.dir}/logs" />
    <!--    <property name="log.path" value="./logs" />-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- <filter class="com.example.logback.filter.MyFilter" /> -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>info</level>
        </filter>
        <encoder>
            <pattern>控制台-%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
            </pattern>
            <!--            <charset>UTF-8</charset>-->
        </encoder>
    </appender>

    <appender name="info_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>info</level>
        </filter>
        <file>${log.path}/logback.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/logback.%d{yyyy-MM-dd}.zip</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>日志文件-%date %level [%thread] %logger{36} [%file : %line] %msg%n
            </pattern>
            <!--            <charset>UTF-8</charset>-->
        </encoder>
    </appender>

    <appender name="error_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>error</level>
        </filter>
        <file>${log.path}/error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/error.log.%d{yyyy-MM-dd}.zip</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>日志文件-%date %level [%thread] %logger{36} [%file : %line] %msg%n
            </pattern>
            <!--            <charset>UTF-8</charset>-->
        </encoder>
    </appender>

    <!--控制是否写入-->
    <root level="info">
        <appender-ref ref="console" />
        <appender-ref ref="info_file" />
        <appender-ref ref="error_file" />
    </root>

</configuration>

 加入Maven

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>log4j-over-slf4j</artifactId>
    <version>1.7.32</version>
</dependency>

 在pom.xml文件中的build标签下加入

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.xml</include>
            <include>**/*.properties</include>
        </includes>
    </resource>
</resources>

获取对象 调用方法:

public static final org.apache.log4j.Logger logger = Logger.getLogger(类名.class);

log.info("描述文字 {} ", 参数); //  {} 是 占位符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值