返回顶部
首页 > 资讯 > 后端开发 > Python >@Slf4j 如何实现日志输入到外部文件
  • 329
分享到

@Slf4j 如何实现日志输入到外部文件

2024-04-02 19:04:59 329人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录@Slf4j实现日志输入到外部文件1. 添加一个配置文件直接在代码中使用@Slf4j日志文件打印和输出文件首先配置lombok添加一个配置文件方法中的使用@Slf4j实现日志输入

@Slf4j实现日志输入到外部文件

1. 添加一个配置文件

\src\main\resources\logback-spring.xml


<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="10 seconds">
    <contextName>logback</contextName>
    <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
    <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
    <!-- 定义日志存储的路径,不要配置相对路径 -->
    <property name="FILE_PATH" value="C:/tmp/spring-log.%d{yyyy-MM-dd}.%i.log" />
    <!-- 控制台输出日志 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 日志级别过滤INFO以下 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <encoder>
            <!-- 按照上面配置的LOG_PATTERN来打印日志 -->
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!--每天生成一个日志文件,保存30天的日志文件。rollingFile用来切分文件的 -->
    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${FILE_PATH}</fileNamePattern>
            <!-- keep 15 days' worth of history -->
            <maxHistory>30</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 日志文件的最大大小 -->
                <maxFileSize>2MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- 超出删除老文件 -->
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!-- project default level -->
    <logger name="net.sh.rgface.serive" level="ERROR" />
    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="rollingFile" />
    </root>
</configuration>

直接在代码中使用


package com.zz.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.WEB.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Slf4j
public class LogBackController {
    @GetMapping("/logtest1")
    public String test1(){
        log.debug("debug测试日志消息");
        log.info("info 测试日志信息");
        log.error("info 测试日志信息");
        log.warn("warn 测试日志信息");
        return "ok";
    }
}

运行结果:

在这里插入图片描述

@Slf4j日志文件打印和输出文件

首先配置lombok


 <dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
     <version>1.16.18</version>
     <scope>provided</scope>
 </dependency>

添加一个配置文件

\src\main\resources\logback-spring.xml。设置为每天生成一个文件。


<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="10 seconds">
    <contextName>logback</contextName>
    <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
    <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
    <!-- 定义日志存储的路径,不要配置相对路径 -->
    <property name="FILE_PATH" value="E:/ideaproject/INFO/cloud.%d{yyyy-MM-dd}.%i.log" />
    <!-- 控制台输出日志 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 日志级别过滤INFO以下 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <encoder>
            <!-- 按照上面配置的LOG_PATTERN来打印日志 -->
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!--每天生成一个日志文件,保存30天的日志文件。rollingFile用来切分文件的 -->
    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${FILE_PATH}</fileNamePattern>
            <!-- keep 15 days' worth of history -->
            <maxHistory>30</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 日志文件的最大大小 -->
                <maxFileSize>2MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- 超出删除老文件 -->
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!-- project default level -->
    <logger name="net.sh.rgface.serive" level="ERROR" />
    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="rollingFile" />
    </root>
</configuration>

方法中的使用


@Service
@Slf4j
public class TestService {
    public void test(String name){
        log.info("{}-->启动任务",name);
        name = "李四";
        log.info("{}-->任务结束",name);
        try {
            int a = 0;
            a = a/0;
        }catch (Exception e){
            log.error(e.getMessage());
        }
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: @Slf4j 如何实现日志输入到外部文件

本文链接: https://lsjlt.com/news/160941.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • @Slf4j 如何实现日志输入到外部文件
    目录@Slf4j实现日志输入到外部文件1. 添加一个配置文件直接在代码中使用@Slf4j日志文件打印和输出文件首先配置lombok添加一个配置文件方法中的使用@Slf4j实现日志输入...
    99+
    2024-04-02
  • maven如何使用slf4j输出日志到文件
    目录使用slf4j输出日志到文件log4j.propertiesslf4j将部分日志打印在其他文件中logback.xml配置中新增一个FileAppender在需要额外打印日志的地...
    99+
    2024-04-02
  • 学习SpringBoot使用slf4j日志并输出到文件中
    slf4j日志(3月11日) 再使用前,先了解一下介绍,否则你也不会用! 1、日志级别 SLF4J将日志分为trace、debug、info、warn、error五个级别,每个级别对应记录不同...
    99+
    2023-09-02
    spring boot 学习 java
  • docker日志如何输出到文件
    在Docker中,可以使用以下两种方式将日志输出到文件:1. 使用Docker日志驱动(Logging Driver):Docker...
    99+
    2023-09-28
    docker
  • Python + logging输出到屏幕,将log日志写入到文件
    logging提供了一组便利的函数,用来做简单的日志。它们是 debug()、 info()、 warning()、 error() 和 critical()。 logging函数根据它们用来跟踪的事件的级别或严重程度来命名。标准级别及其适...
    99+
    2023-10-06
    python 软件测试 程序员 接口测试 自动化测试 测试工程师
  • linux如何把日志输出到文本
    在Linux中,可以通过重定向操作符将日志输出到文本文件中。你可以使用以下命令将命令的输出重定向到文件:```command > l...
    99+
    2023-10-09
    linux
  • eclipse如何导入外部文件
    在Eclipse中导入外部文件可以按照以下步骤操作:1. 打开Eclipse,点击菜单栏中的“File”(文件)选项。2. 在下拉菜...
    99+
    2023-09-15
    eclipse
  • Qt5实现qDebug日志信息写入日志文件过程
    目录1、思路2、代码3、问题4、结果与扩展思路1、思路 其实Qt提供了将日志写入文件的方式,是以接口的形式提供的,我们只需要按照我们的需求完成回调函数和我们自己的接口即可。 为方便调...
    99+
    2024-04-02
  • shell将脚本输出结果记录到日志文件的实现
    使用tee命令: sh portal/main.sh |tee log.txt 获取脚本父类路径 cmddir="`dirname $0`" 以上这篇shell将脚本输出结果记录到日志文件的实现就是小...
    99+
    2022-06-04
    脚本 文件 日志
  • 在Spring Boot中使用slf4j与logback如何实现配置日志
    这期内容当中小编将会给大家带来有关在Spring Boot中使用slf4j与logback如何实现配置日志,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。spring boot主要的目的是:为 Spring...
    99+
    2023-05-31
    springboot slf4j logback
  • go语言日志实现详解(打印日志、日志写入文件和日志切割)
    目录Go语言内置的log包实现了简单的日志服务Logger标准logger的配置配置日志前缀(SetPrefix)配置日志输出位置创建新logger对象日志库级别runtime.Ca...
    99+
    2024-04-02
  • 使用java如何实现异步将日志写到文件中
    本篇文章给大家分享的是有关使用java如何实现异步将日志写到文件中,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。java异步写日志到文件中详解实现代码:package com....
    99+
    2023-05-31
    java 异步 日志
  • log4j如何控制日志输出文件名称
    小编给大家分享一下log4j如何控制日志输出文件名称,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!log4j控制日志输出文件名称1. 第一种方式在类对象中用如下方...
    99+
    2023-06-22
  • nginx中如何输出php错误日志文件
    这篇文章主要介绍“nginx中如何输出php错误日志文件”,在日常操作中,相信很多人在nginx中如何输出php错误日志文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”nginx中如何输出php错误日志文件...
    99+
    2023-07-05
  • 如何实现外部引入css
    这篇文章将为大家详细讲解有关如何实现外部引入css,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。外部引入css的方法:1、使用link来调用外部的css文件,标签定义文档与外部资源的关系;2、使用@imp...
    99+
    2023-06-15
  • crontab脚本错误日志怎么正确的输出写入到文件
    这篇文章主要介绍“crontab脚本错误日志怎么正确的输出写入到文件”,在日常操作中,相信很多人在crontab脚本错误日志怎么正确的输出写入到文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”crontab...
    99+
    2023-07-05
  • 如何使用shell将脚本输出结果记录到日志文件
    这篇文章将为大家详细讲解有关如何使用shell将脚本输出结果记录到日志文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用tee命令:sh portal/main.sh |tee log.txt获取脚本...
    99+
    2023-06-09
  • python 实现logging动态变更输出日志文件名
    python作为一门非常容易上手的脚本语言,日志输出更是简单,logging模块,简单的设置配置和属性,就能实现到控制台输出日志,在basicConfig()设置文件名,就能够将日志...
    99+
    2024-04-02
  • 如何实现Linux Tomcat7 catalina.out日志文件切割
    如何实现Linux Tomcat7 catalina.out日志文件切割,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Tomcat的catalina.out并没...
    99+
    2023-06-28
  • 使用Java如何监控并输出日志文件
    使用Java如何监控并输出日志文件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码1:日志产生类package com.bill99.seashell.domain.svr;...
    99+
    2023-05-31
    java ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作