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

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#自定义控件中的事件处理

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...

  2. centos7 yum搭建lnmp环境及配置wordpress超详细教程

    yum安装lnmp环境是最方便,最快捷的一种方法.源码编译安装需要花费大量的人类时间,当然源码编译可以个性化配置一些其它功能.目前来说,yum安装基本满足我们搭建web服务器的需求. 本文是我根据近期 ...

  3. Netbeans courier new 乱码问题

    Netbeans 默认的字体 monospaced,显示英文的单引号及字体非常的不好看,在网上查了下资料可以变得很好看. 1.仍然保持默认字体 monospaced 2.在Netbeans 的安装目  ...

  4. element-ui表单验证无效解决

    最近在项目中遇到了一个需求,需要动态增减表单元素,同时给新增的表单元素增加校验规则. element-ui官网给出了解决方案:点击新增按钮时,向循环渲染的数组中push新的对象,数据驱动视图,通过增加 ...

  5. Go-cron定时任务

    1.cron(计划任务) 按照约定的时间,定时的执行特定的任务(job). cron 表达式 表达了这种约定. cron 表达式代表了一个时间集合,使用 6 个空格分隔的字段表示. 秒 分 时 日 月 ...

  6. 【Windows Of CCPC HDU - 6708】【打表,找规律】

    题意分析 HDU - 6708 题意:给出一个整数k,要求你输出一个长和宽均为2^k^ 的符合要求的矩阵.比如k等于1时输出 \[ \begin{matrix} C & C \\ P & ...

  7. CSS3-------弹簧特效

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. Hive常用函数的使用

    Hive常用函数的使用 文章作者:foochane  原文链接:https://foochane.cn/article/2019062501.html 1 基本介绍 1.1 HIVE简单介绍 Hive ...

  9. HTML+JavaScript自己动手做日历

    当我们需要在页面中显示某月的事项,或是选择某一段日期时,常常要使用到日历组件.这一组件同样有着许多现成的类库,然而亲自动手开发一个日历,从中了解其实现原理也是非常必要的.在本例中我们就将制作一款非常经 ...

  10. Leetcode之深度优先搜索(DFS)专题-733. 图像渲染(Flood Fill)

    Leetcode之深度优先搜索(DFS)专题-733. 图像渲染(Flood Fill) 深度优先搜索的解题详细介绍,点击 有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 ...