以下有两个使用,一个是简单使用,另一个是需要进行详细的配置再使用。首先给出源代码。可以直接使用

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ScheduledTasks {
private static Logger logger = LoggerFactory.getLogger(ScheduledTasks.class);
private static SimpleDateFormat dateFormat = new SimpleDateFormat();
@Scheduled(cron="0 0 0 * * ?")//每天0点开始
public void reportCurrent() {
logger.info("现在时间:{}", dateFormat.format(new Date()));
        logger.error("现在时间:{}", dateFormat.format(new Date()));
} }

  

简单使用1:如果只是简单的使用,不用具体的配置,可以使用以下的logback

#设置路径

logging.path=F:\\demo

#设置日志文件名

logging.file=demo.log

#下面可以配置指定日志级别输出到日志文件里面

logging.level.root=ERROR

配置使用2:logback.xml详细配置如下:

在application.properties中引用:注意logback.xml放置的位置

logging.config=classpath:logback.xml


<?xml version="1.0" encoding="UTF-8" ?>

<!--

scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true

scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位默认单位是毫秒,当scan为true时此属性生效,默认时间间隔为1分钟

debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态,默认值为false

-->

<configuration scan="true" scanPeriod="3 seconds" debug="false">

<!-- 这一句的意思是打印所有进入的信息 -->

<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />

<!--

appender是<configuration>的子节点,是负责写日志的组件

两个必要属性name和class:name指定appender名称,class指定appender的全限定名

定义控制台appender 作用:把日志输出到控制台 class="ch.qos.logback.core.ConsoleAppender"

-->

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

<!-- 对日志进行格式化 -->

<layout class="ch.qos.logback.classic.PatternLayout">

<pattern>

{"timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSS}","thread":"%t","line":"%line","log_level":"%p","class_name":"%C;","msg":"%m"}\n

</pattern>

</layout>

</appender>

<!--

定义滚动记录文件appender 作用:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件

RollingFileAppender class="ch.qos.logback.core.rolling.RollingFileAppender"

参数:

<append>:如果是true日志被追加到文件结尾,如果是false清空现存文件,默认是true

<file>:被写入的文件名,可以是相对目录也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值

<rollingPolicy>:当发生滚动时,决定RollingFileAppender的行为,涉及文件移动和重命名

<triggeringPolicy>:告知RollingFileAppender合适激活滚动

<prudent>:当为true时不支持FixedWindowRollingPolicy支持TimeBasedRollingPolicy,但是有两个限制:1不支持也不允许文件压缩,2不能设置file属性必须留空

-->

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">

<!-- 如果是true日志被追加到文件结尾,如果是false清空现存文件,默认是true -->

<append>true</append>

<File>logs/logback-test.log</File>

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!-- 每天滚动一次的日志 只保留30天内的日志文件 -->

<FileNamePattern>

logs/logback-test.%d{yyyy-MM-dd}.log.zip

<maxHistory>30</maxHistory>

</FileNamePattern>

<!-- 每分钟滚动一次日志 -->

<!-- <FileNamePattern>

logs/logback-test.%d{yyyy-MM-dd_HH-mm}.log.zip

</FileNamePattern> -->

</rollingPolicy>

<!-- 对日志进行格式化 -->

<layout class="ch.qos.logback.classic.PatternLayout">

<Pattern>

{"timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSS}","thread":"%t","line":"%line","log_level":"%p","class_name":"%C;","msg":"%m"}\n

</Pattern>

</layout>

</appender>

<!--

定义滚动记录文件appender 作用:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件

RollingFileAppender class="ch.qos.logback.core.rolling.RollingFileAppender"

参数:

<append>:如果是true日志被追加到文件结尾,如果是false清空现存文件,默认是true

<file>:被写入的文件名,可以是相对目录也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值

<rollingPolicy>:当发生滚动时,决定RollingFileAppender的行为,涉及文件移动和重命名

<triggeringPolicy>:告知RollingFileAppender合适激活滚动

<prudent>:当为true时不支持FixedWindowRollingPolicy支持TimeBasedRollingPolicy,但是有两个限制:1不支持也不允许文件压缩,2不能设置file属性必须留空

-->

<appender name="LOGBACK_ERROR_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">

<append>true</append>

<file>logs/logback-test-error.log</file>

<!--

定义滚动策略 作用:根据固定窗口算法重命名文件的滚动策略 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy

<fileNamePattern>:表示当触发了回滚策略后,按这个文件命名规则生成归档文件,命名规则中的%i表示在maxIndex和minIndex之间的一个整数值

<minIndex>:最小索引值

<maxIndex>:最大索引值

-->

<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

<fileNamePattern>logs/logback-test-error.log.%i</fileNamePattern>

<minIndex>1</minIndex>

<maxIndex>20</maxIndex>

</rollingPolicy>

<!--

定义按文件大小触发滚动策略triggeringPolicy 作用:查看当前活动文件的大小,如果超过指定大小会告知RollingFileAppender触发当前活动文件滚动

只有一个参数 maxSize 这是活动文件的大小,默认值是10MB

-->

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

<maxFileSize>50MB</maxFileSize>

</triggeringPolicy>

<!--

配置日志级别过滤器 作用:根据日志级别进行过滤,如果日志级别等于配置级别过滤器会根据onMath和onMismatch接收或拒绝日志

参数:

<level>:设置过滤级别

<onMatch>:用于配置符合过滤条件的操作

<onMismatch>:用于配置不符合过滤条件的操作

此处配置为只接收ERROR日志级别信息

-->

<filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>ERROR</level>

<onMatch>ACCEPT</onMatch>

<onMismatch>DENY</onMismatch>

</filter>

<encoder>

<pattern>

{"timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSS}","thread":"%t","line":"%line","log_level":"%p","class_name":"%C;","msg":"%m%n", "caller":"%caller{1}"}

</pattern>

</encoder>

</appender>

<!--

定义滚动记录文件appender 作用:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件

RollingFileAppender class="ch.qos.logback.core.rolling.RollingFileAppender"

参数:

<append>:如果是true日志被追加到文件结尾,如果是false清空现存文件,默认是true

<file>:被写入的文件名,可以是相对目录也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值

<rollingPolicy>:当发生滚动时,决定RollingFileAppender的行为,涉及文件移动和重命名

<triggeringPolicy>:告知RollingFileAppender合适激活滚动

<prudent>:当为true时不支持FixedWindowRollingPolicy支持TimeBasedRollingPolicy,但是有两个限制:1不支持也不允许文件压缩,2不能设置file属性必须留空

-->

<appender name="LOGBACK_ALL_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">

<append>true</append>

<file>logs/logback-test-all.log</file>

<!--

定义滚动策略 作用:根据固定窗口算法重命名文件的滚动策略 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy

<fileNamePattern>:表示当触发了回滚策略后,按这个文件命名规则生成归档文件,命名规则中的%i表示在maxIndex和minIndex之间的一个整数值

<minIndex>:最小索引值

<maxIndex>:最大索引值

-->

<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

<fileNamePattern>logs/logback-test-all.log.%i</fileNamePattern>

<minIndex>1</minIndex>

<maxIndex>20</maxIndex>

</rollingPolicy>

<!--

定义按文件大小触发滚动策略triggeringPolicy 作用:查看当前活动文件的大小,如果超过指定大小会告知RollingFileAppender触发当前活动文件滚动

只有一个参数 maxSize 这是活动文件的大小,默认值是10MB

-->

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

<maxFileSize>50MB</maxFileSize>

</triggeringPolicy>

<!--

配置临界值过滤器 作用:过滤掉低于指定临界值的日志,当日志级别等于或高于临界值时过滤器返回NEUTRAL,当日志级别低于临界值时,日志会被拒绝

此处配置为INFO 即过滤掉日志级别小于INFO的日志信息

-->

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">

<level>INFO</level>

</filter>

<encoder>

<pattern>

{"timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSS}","thread":"%t","line":"%line","log_level":"%p","class_name":"%C;","msg":"%m%n", "caller":"%caller{1}"}

</pattern>

</encoder>

</appender>

<!--

logger用来设置某一个包的日志打印级别,以及指定<appender>

<loger> 仅有一个name属性,一个可选的level和一个可选的addtivity属性

name:用来指定受此loger约束的某一个包或者具体的某一个类

level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF

addtivity:是否向上级loger传递打印信息。默认是true,会将信息输入到root配置指定的地方,可以包含多个appender-ref,标识这个appender会添加到这个logger

-->

<logger name="com.roberto" level="DEBUG" additivity="false">

<appender-ref ref="STDOUT" />

<appender-ref ref="LOGBACK_ALL_LOG" />

<appender-ref ref="LOGBACK_ERROR_LOG" />

</logger>

<!-- 将root的打印级别设置为"INFO",指定了名字为"FILE","STDOUT"的appender -->

<root>

<level value="INFO" />

<appender-ref red="STDOUT" />

<appender-ref ref="FILE" />

</root>

</configuration>

springboot logback日志的使用的更多相关文章

  1. springboot+logback日志输出企业实践(下)

    目录 1.引言 2. 输出 logback 状态数据 3. logback 异步输出日志 3.1 异步输出配置 3.2 异步输出原理 4. springboot 多环境下 logback 配置 5. ...

  2. springboot+logback日志输出企业实践(上)

    目录 1.引言 2.logback简介 3. springboot默认日志框架-logback 3.1 springboot示例工程搭建 3.2 日志输出与基本配置 3.2.1 日志默认输出 3.2. ...

  3. SpringBoot Logback 日志配置

    目录 前言 日志格式 日志输出 日志轮替 日志级别 日志分组 小结 前言 之前使用 SpringBoot 的时候,总是习惯于将日志框架切换为 Log4j2,可能是觉得比较靠谱,也可能年龄大了比较排斥新 ...

  4. 8. springboot logback 日志整合

    在resources目录下,新建log/logback-spring.xml文件,内容如下: <?xml version="1.0" encoding="UTF-8 ...

  5. SpringBoot Logback日志配置

    Logback的配置介绍: 1.Logger.appender及layout Logger作为日志的记录器,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型.级别. ...

  6. Spring-boot logback日志处理

    1:在resources目录下面创建logback.xml配置文件 <?xml version="1.0"?> <configuration> <!- ...

  7. vscode springboot logback 日志输出到不同文件

    参照了:https://blog.csdn.net/appleyk/article/details/78717388# 在src\main\resources中新建一个logback-boot.xml ...

  8. 在SpringBoot中添加Logback日志处理

    前言 SpringBoot项目中在官方文档中说明,默认已经依赖了一些日志框架.而其中推荐使用的就是Logback,所以这一次我将在我的模版中加入Logback日志的配置,说明一下,SpringBoot ...

  9. springBoot(10)---logback日志

    logback日志 一.概述  和log4j优点: 实际上,这两个日志框架都出自同一个开发者之手,Logback 相对于 Log4J 有更多的优点 (1)logback不仅性能提升了,初始化内存加载也 ...

随机推荐

  1. C#之BackgroundWorker从简单入门到深入精通的用法总结

    需求分析 经常用到的耗时操作,例如: 1.文件下载和上载(包括点对点应用程序传输文件,从网络下载文件.图像等)2.数据库事务(从数据库读到大量的数据到WinForm界面中的DataGridview里呈 ...

  2. macOS 下的 MySQL 8.0.17 安装与简易配置

    如果我写的这篇你看不懂,可能网上也没有你能看懂的教程了 虽然这篇针对的是8.0.x版本,但是关于MySQL配置之类的方法还是通用的 环境信息与适用范围 环境信息 环境/软件 版本 macOS macO ...

  3. 《大牛到底是如何阅读JDK源码的?》一起来学习一下

    前言: 如何阅读源码,是每个程序员需要面临的一项挑战,为什么需要阅读源码?从实用性的角度来看,主要有三个目的: 第一,解决手头的新问题或者新需求; 第二,真正理解一部分理论的落地实现; 第三,应对面试 ...

  4. java120经典面试题

    经典面试题 -----version 1.0 题注:以下答案仅限本人个人见解,若有错误和建议请多多指教.QQ:1807812486 题目来源 1.什么是Java虚拟机?为什么Java被称作是" ...

  5. 2015-11-17 linux基础笔记

    21. 可执行权限不代表能够执行,这得看文件内容 22. 还是可以用适当的拓展名表示该文件是什么种类的*.sh  脚本或批处理文件 *Z.*.tar.*.tar.gz.*.zip.*.tgz 压缩文件 ...

  6. mac下面有epoll?

    没有的,但是mac下面有kqueue,跟epoll原理是差不多的. 这个是没办法的,如果实在需要,就用Ubuntu吧,这个也可以无缝迁移. 更多资源,更多文章由小白技术社提供(是我啦)

  7. 林大妈的CSS知识清单(一)添加样式

    回顾CSS选择符,学习接入样式的更多方式. 一.选择符 1. 种类 ① 类型选择符:直接的HTML标签名,例如: body.p.div 等: ② 后代选择符:空格,例如: div p 选择div中的所 ...

  8. C笔记_C语言环境、编译、预处理

    1.环境 gcc -v //查看环境变量 gcc 同 g++ gcc main.c -o main.exe gcc main.c //默认生成a.exe 2.编译 预处理:   gcc -E main ...

  9. CodeForces 989D

    题意略. 思路: 可以看成是所有的云彩照常运动,而月亮在跑.只要两个云彩相交后,在分离前月亮能赶到,就算是符合题意的. 可以知道,两个相隔越远的相向运动地云彩是越有可能符合题意的,因为它们相遇所用时间 ...

  10. JavaWeb实现增删查改(图书信息管理)——之查询

     关于此次CRUD所需要的jar包,本人把文件放在了百度网盘,需要的自行去下载: 链接:https://pan.baidu.com/s/1Pqe88u6aPaeVjjOq1YFQ-w  提取码:pim ...