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

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. Tomcat源码分析 (五)----- Tomcat 类加载器

    在研究tomcat 类加载之前,我们复习一下或者说巩固一下java 默认的类加载器.楼主以前对类加载也是懵懵懂懂,借此机会,也好好复习一下. 楼主翻开了神书<深入理解Java虚拟机>第二版 ...

  2. 对平底锅和垃圾的O奖论文的整理和学习[2](2018-02-08发布于知乎)

    其实这篇论文看了一段时间,愣是没看出来这个模型怎么建立的.虽然看不懂,但是有一些部分还是很喜欢. 首先是摘要: 摘要分为八段 第一段:背景引入,太空垃圾的问题日益严重. 第二段:本文工作,包括基本的i ...

  3. Nacos(四):SpringCloud项目中接入Nacos作为配置中心

    前言 通过前两篇文章: Nacos(二):Nacos与OpenFeign的对接使用 Nacos(三):SpringCloud项目中接入Nacos作为注册中心 相信大家已经对Nacos作为注册中心的基本 ...

  4. 盘一盘 NIO (一)—— Buffer源码解析

    Buffer是个啥? Buffer 即缓冲区,用来暂存输入输出数据的区域.Buffer对象是一份固定数量的数据的容器,实质上是一个数组.但是一个缓冲区不仅仅是一个数组,缓冲区提供了对数据的结构化访问, ...

  5. java 中 size() 和 length()

    偶然发现自己不清楚 java size() 和length()是干嘛用的,总结一下: 1.java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这 ...

  6. Guava 常用工具类

    引入guava包: <dependency> <groupId>com.google.guava</groupId> <artifactId>guava ...

  7. count(*) count(1) count(column)的区别

    count(1)中的1并不是指第一个column: count(*)和count(1)一样,包括对值为NULL的统计: count(column)不包括对值为NULL的统计,这里的column指的不是 ...

  8. 用代码说话:如何在Java中实现线程

    并发编程是Java语言的重要特性之一,"如何在Java中实现线程"是学习并发编程的入门知识,也是Java工程师面试必备的基础知识.本文从线程说起,然后用代码说明如何在Java中实现 ...

  9. javaio字节流复制文件夹

    public class Copy1 { public static void main(String[] args) throws IOException { File src=new File(& ...

  10. 安装Python及各种包/库——没有网络的电脑上

    我们做项目时可能会遇到,一些电脑只能联内网或者无法联网,这种情况怎样在电脑上安装Python及各种第三方包/库呢? 1.首先,在有网络的电脑上在python官网下载好python安装包,地址:http ...