如何在springBoot下搭建日志框架
作者:shouyaya 发布时间:2021-07-01 03:41:44
标签:spring,Boot,搭建,日志,框架
1. 日志框架的选择:(这两个框架,springBoot已经整合,无需引入jar包)
2. 在resources目录下配置logback-spring.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<!--控制台的日志输出的配置-->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<!-- 输出日志的格式设置-->
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
</appender>
<!--输出除警告级别外的日志到本地文件下,并且实现每日生成一个日志文件-->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志级别过滤器-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 以下三行表示当匹配到error级别的日志时拒绝写入日志,其余级别允许写入-->
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<fileNamePattern>F:\sellLog\info.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<!--只输出警告级别的日志到本地文件下,并且实现每日生成一个日志文件-->
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<fileNamePattern>F:\sellLog\error.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog" />
<appender-ref ref="fileInfoLog" />
<appender-ref ref="fileErrorLog" />
</root>
</configuration>
3. 在springBoot启动类添加日志相应的对象(本例使用了junit测试,与在启动类配置一样)
package com.yzy.sell;
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 SellApplicationTests {
private final Logger log= LoggerFactory.getLogger(SellApplicationTests.class);
@Test
public void test1() {
String name = "yzy";
String password = "123456";
log.debug("debug...");
log.info("name: " + name + " ,password: " + password);
log.info("name: {}, password: {}", name, password);
log.error("error...");
log.warn("warn...");
}
}
来源:https://www.cnblogs.com/shouyaya/p/13090252.html


猜你喜欢
- RenderScript 介绍在开始之前,先看下 RenderScript 的官方介绍:RenderScript is a framewor
- Java7中文件IO发生了很大的变化,专门引入了很多新的类:import java.nio.file.DirectoryStream;imp
- 在本文中,对比了常见的几种反射的方法,介绍了它们分别应该如何使用,每种的简易度和灵活度,然后做了基准测试,一起看看这之间的性能差距。按照使用
- 本文实例讲述了Java编程调用微信分享功能。分享给大家供大家参考,具体如下:这篇文章介绍如何使用java开发微信分享功能,因为工作,已经开发
- 本文实例讲述了Java实现的简单网页截屏功能。分享给大家供大家参考,具体如下:package awtDemo;import java.awt
- 本文实例讲述了java数据结构排序算法之树形选择排序。分享给大家供大家参考,具体如下:这里我们就来说说选择类排序之一的排序:树形选择排序在简
- 一、题目描述题目实现:使用网络编程时,需要通过Socket传递对象。二、解题思路创建一个类:Student,实现序列化Student类包含两
- 一、电子邮件详解假设自己的电子邮件是me@163.com,对方的邮件是you@163.com我们编写好文件填写好对方文件,点击发送,这些电子
- 队列的特性很简答,就是先进先出,一般利用数组来实现。实现队列自然要实现几个函数:入队,出队,判断队满,判断队空,获得队头,队尾。实现队列的关
- ViewPager是android-support-v4.jar包里的组件。在布局文件里标签需要连包名一起写全称<android.su
- 文章导读本系列文章介绍从0开始搭建一个基于分布式的医疗挂号系统。本次四篇文章完成了医院设置微服务模块的后端接口,为了方便开发,对接口的返回结
- 前言本文主要给大家介绍了关于Android中GridView布局整体居中的相关内容,是对于自己在项目中遇到问题的一个记录,分享出来供大家参考
- 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些
- C++中,对于任意一个类,都会为我们提供4个默认的成员函数(如果我们不显示的去声明)——构造函数、析
- 一般而言在Android上使用JAVA实现彩图转换为灰度图,与J2ME上的实现方法类似,不过遇到频繁地转换或者是大图转换时,就必须使用NDK
- 1、TCP/IP层次模型当然这里我们只讨论重要的四层01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级T
- 执行如下的jni调用:package jni;public class JNITransObject { public nativ
- 前言springmvc中有两种很普遍的AOP实现:1.过滤器(Filter)2. * (Interceptor)本篇面对的是一些刚接触spr
- JavaFx中其实也可以直接使用字体图标iconfont的,只需要加载ttf字体文件,之后设置unicode即可,具体可以看我给出的代码既然
- 代码分2块,server端:class Program {