SpringBoot2.0学习之整合logback输出日志_一个差不多的程序员的博客-程序员秘密

技术标签: springboot2.0学习  

SpringBoot2.0学习之整合logback输出日志

ps: 由于SpringBoot默认整合的就是logback,所以相关的依赖是不需要引入的。spring-boot-starter包下已经把相关依赖引入好了。所以我们只需要加入logback相关的配置就可以了。

1. 在resources下创建logback.xml文件

内容如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

    <!-- 定义文件输出格式, 编码方式, 输出文件的路径 -->
    <property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p ${PID:-} [%15.15t] %-40.40logger{39} : %m%n"/>
    <property name="charsetEncoding" value="UTF-8"/>
    <property name="logPath" value="D:/webLog"/>

    <!--控制台日志-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${pattern}</pattern>
            <charset>${charsetEncoding}</charset>
        </encoder>
    </appender>
    <!-- 运行日志 日期滚动记录-->
    <appender name="infoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文件的路径及文件名 -->
        <File>${logPath}/infoLog.log</File>
        <!--日志记录器的滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 生成日志文件名格式 -->
            <FileNamePattern>${logPath}/infoLog.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!-- 历史记录存在时间 单位:天 -->
            <maxHistory>30</maxHistory>
            <!--如果配置了文件大小的限制,若超出限制则会在文件名后追加索引从0开始将文件拆分-->
            <!--<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">-->
                <!--<maxFileSize>2MB</maxFileSize>-->
            <!--</timeBasedFileNamingAndTriggeringPolicy>-->
        </rollingPolicy>
        <!-- 追加方式记录日志 -->
        <append>true</append>
        <encoder>
            <Pattern>${pattern}</Pattern>
            <charset>${charsetEncoding}</charset>
        </encoder>
    </appender>
    <!-- 错误日志 日期滚动记录-->
    <appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文件的路径及文件名 -->
        <File>${logPath}/errorLog.log</File>
        <!--日志记录器的滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 生成日志文件名格式 -->
            <FileNamePattern>${logPath}/errorLog.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!-- 历史记录存在时间 单位:天 -->
            <maxHistory>30</maxHistory>
            <!--如果配置了文件大小的限制,若超出限制则会在文件名后追加索引从0开始将文件拆分-->
            <!--<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">-->
            <!--<maxFileSize>2MB</maxFileSize>-->
            <!--</timeBasedFileNamingAndTriggeringPolicy>-->
        </rollingPolicy>
        <!-- 追加方式记录日志 -->
        <append>true</append>
        <encoder>
            <Pattern>${pattern}</Pattern>
            <charset>${charsetEncoding}</charset>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <!-- 设置日志输出级别 -->
            <level>ERROR</level>
        </filter>
    </appender>
    <!--配置日志输出的级别-->
    <root level="INFO">
        <appender-ref ref="console"/>
        <appender-ref ref="infoLog"/>
        <appender-ref ref="errorLog"/>
    </root>
</configuration>

测试代码:

package com.qf.marklife;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;


@RunWith(SpringRunner.class)
@SpringBootTest
public class Test1 {

    private final static Logger logger = LoggerFactory.getLogger(Test.class);

    @Test
    public void test(){
        logger.info("成功输出info级别日志");
        logger.error("成功输出error级别日志");
    }
}

测试结果

控制台输出:

在这里插入图片描述

文件输出:

error:在这里插入图片描述
info:
在这里插入图片描述

logback详细学习传送门:https://www.cnblogs.com/lixuwu/p/5804793.html


人生是一场永不落幕的演出,我们每一个人都是演员,只不过,有的人顺从自己,有的人取悦观众。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37456162/article/details/86761834

智能推荐

JS三元表达式动态改变显示内容_Eal7的博客-程序员秘密

根据后端传的值,来显示不同内容1.条件写在差值作用域中 &lt;view class=""&gt; &lt;text style="margin-left: 95rpx;"&gt;{{item.state == 0 ? '提现中' : item.state == 1 ? '提现成功' : item.state == 2 ? '提现失败':''}}&lt;/text&gt; &lt;/view&gt;2.利用data改变&lt;view class=""

MapReduce生成HFile文件,再使用BulkLoad导入HBase中(完全分布式运行)_一只鸟的天空的博客-程序员秘密

声明: 若要转载, 请标明出处.前提: 在对于大量的数据导入到HBase中, 如果一条一条进行插入, 则太耗时了, 所以可以先采用MapReduce生成HFile文件, 然后使用BulkLoad导入HBase中. 引用:一、这种方式有很多的优点:1. 如果我们一次性入库hbase巨量数据,处理速度慢不说,还特别占用Region资源, 一个比较高效便捷的方法就是使用 “Bulk

iOS 视觉效果_ios shadow更明显的是那个属性_开发之家的博客-程序员秘密

视觉效果嗯,圆和椭圆还不错,但如果是带圆角的矩形呢?我们现在能做到那样了么?史蒂芬·乔布斯如果你依然在编程的世界里迷茫,不知道自己的未来规划,小编给大家推荐一个IOS高级交流群:458839238 里面可以与大神一起交流并走出迷茫。小白可进群免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行!群内提供数据结构与算法、底层进阶、swift、逆向、整合面试题等免费资料附上一份收...

“我把理财当副业,两个月赚了3W块!”_MatheMagician的博客-程序员秘密

“三十而立”,第一批90后30岁了,收入多少才能“立”得住呢?前几天,在网上看到了一份中国90后收入的调查报告:报告显示:90后月均收入8000元,三成90后零存款,两成90后存款达到10...

如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?_AI蜗牛车的博客-程序员秘密

链接:https://www.zhihu.com/question/22790506/answer/316005175编辑:深度学习与计算机视觉声明:仅做学术分享,侵删作者:知乎用户https://www.zhihu.com/question/22790506/answer/81787300恭喜你已经有了一个A类别的idea和相应的实现以及数据,那么接下来就是写文章的问题...

Android - 小知识点 (View 添加 虚线 , ImageView适应图片宽度和高度)_原小明的博客-程序员秘密

1.效果图                                                                  2.View添加虚线    (1)实现view子类 ,进行绘制package labelnet.cn.ledou.ui;import android.content.Context;import android.graphics.Can

随便推点

基于vue框架的在线问卷的设计_taotao658的博客-程序员秘密

该毕业设计使用了比较受前端欢迎的vue框架技术,是一个纯前端的项目,没有使用后端java程序和数据库。如果你刚学完vue相关的知识,可以通过该项目源码对vue加以巩固。现在流行无纸化办公,该项目主要解决了问卷调查相关的问题。主要功能包括:问卷发布,数据查看。其中数据查看以图表的方式展现,便于使用者查看调查结果。源码http://www.byamd.xyz/dljd.html...

浅析vector容器(1)-vector内存分配策略_大话音视频的博客-程序员秘密

vector是一个封装了动态大小数组的顺序容器,它能够存放各种类型的对象。 可以删除元素、可以插入元素、可以查找元素,做这些工作我们无需管理容器内存。容器内存管理,这种脏活累活全部交由vector管理。了解一下vector的内存管理策略,能够更加充分的利用内存。1、定义一个用于测试的类class A{public: A(int data = 100) :data_(data) { construct_count_++; cout&lt;

qpython3l官网_Kaggle官网免费:Python到机器学习,4小时学完一门,48小时掌握_weixin_39984982的博客-程序员秘密

赖可 发自 凹非寺量子位 报道 | 公众号 QbitAI听说过Kaggle官网的免费“微课“吗?想学Python 、机器学习、数据可视化……你可能会想到Coursera上的在线教程,或者吴恩达大名鼎鼎的深度学习视频课,或者一些有名的网上社区,比如fast.ai,Udemy和EdX。但是你可能会因为时间不够就半途而废。Kaggle官网的一系列课程完美地解决了这个问题。只需要几个小时就可以学到最有用的...

VMware恢复默认设置_虚拟机恢复出厂设置_跑龙套的程序员的博客-程序员秘密

当我们配置VM出现了问题时,又不知道如何下手。重新安装还是一样的问题,这个时候就是因为配置文件还没有完全删除,再次安装的时候是从文件中读取配置,所以我们无论按照卸载多少次还是没有关系。这里我们需要首先需要找到资源管理器中“隐藏的项目”,将其勾选,才能看到ProgramData文件夹找到VMware文件夹,并且删除,就可以让VM恢复默认配置了...

Nodejs项目中使用token验证,jwt,jsonwebtoken_jwt expires_in单位_拿我格子衫来的博客-程序员秘密

目前 在web框架中最流行的身份验证是使用jsonwebtoken,简称jwt.可以设置加密方式,过期时间,存放个人信息,逆解析.抽空研究了一下nodejs的jwt如何做,下面来记录一下使用的包是"jsonwebtoken": "^8.3.0"包的github地址主要用到的方法是生成token jwt.sign()验证token jwt.verify()...

随意 随意_iteye_12016的博客-程序员秘密

[转]职场27句经典格言1.长相不令人讨厌,如果长得不好,就让自己有才气;如果才气也没有,那就总是微笑。          2.气质是关键。如果时尚学不好,宁愿纯朴。          3.与人握手时,可多握一会儿。真诚是宝。          4.不必什么都用“我”做主语。          5.不要向朋友借钱。          6.不要“逼”客人看你的家庭相册。        ...

推荐文章

热门文章

相关标签