Springboot日志配置探索(主要看logback)(二)
这篇博客主要是讲在Springboot中扩展的日志框架的配置,也是主要讲logback
8
继续看文档,这里讲到:
springboot里面还有几个日志系统框架可以选择使用,你可以通过在classpath中添加实当的库,或者更深层次的定制化:通过提供一个合适的配置文件在根目录正确的位置或者是放好在一个位置后,在application.properties中用logging.config属性来告诉spring,当然每个日志框架spring有建议的默认命名,这个在下一段会讲到。
你也可以让springboot用某个特定的框架~
这里提到,根据不同的日志系统,你可以按上面提到的规则组织配置文件名,就能被正确加载。Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback-spring.xml的日志配置文件,spring boot可以为它添加一些spring boot特有的配置项(下面会提到)。
默认的命名规则,并且放在 src/main/resources 下面即可
如果你即想完全掌控日志配置,但又不想用logback.xml作为Logback配置的名字,application.yml可以通过logging.config属性指定自定义的名字
总的来说,要用更多配置的日志框架,要么就用它建议的配置文件命名,比如我们要用logback,就加个配置文件logback-spring.xml;或者是你自己定义了一个配置文件名,那么就要在applicaition.properties中logging.config告诉spring。 注意:如果我们使用指定日志系统的配置文件, application.properties 中相关的日志配置是可以不要的。
9
下面开始讲怎么用配置文件来扩展日志框架了:
首先提到,spring boot有很多关于logback的拓展可以让你有更高级的配置,你可以在logback-spring.xml中使用这些拓展。 这里提到拓展的内容不能用configuration scanning,不然会报错。
10
讲到了这个profile应该是涉及到多环境的问题
11
最后一个environment的设置大概就是logback的配置文件和application.properties的关系,大概就是怎样在logback的xml文件中像引入property一样引入application.propertiies的配置。
补充一下,关于这个引入了logback.xml后,怎么在xml中获取application.properties中的信息的问题,看到了两个写法:
1.,用springProperty:
application.properties代码:
logback.logdir=/Users/inke/dev/log/tomcat/sell
logback.appname=sell
在logback-spring.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false"> <!--application.yml 传递参数,不能使用logback 自带的<property>标签 -->
<springProperty scope="context" name="appname" source="logback.appname"/>
<springProperty scope="context" name="logdir" source="logback.logdir"/> <contextName>${appname}</contextName> <!--输出到控制台 ConsoleAppender-->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<!--展示格式 layout-->
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</pattern>
</layout>
</appender>
。。。
。。。
2.还有种写法,之前不是在文档中有提到这个配置的映射嘛:
然后我们在application.properties中,拿这个logging.path做例子,跟以前一样配置:
logging.path=C://feianzhuang/log/admin_log
然后看到上面的转换表中,有这个转换:
然后在logback-spring.xml中:
<File>${LOG_PATH}/info.log</File>
就行了。
其他具体的就看logback的配置文档吧~
总结一下:
springboot已经帮我们封装好了日志框架,可以直接使用。一般建议使用logback,因为springboot默认用的也是它。直接使用的方法就是直接在application.properties中进行简单的设置,可以指定日志输出位置,简单的格式设置,包的等级设置等操作。 使用的代码这里也给个例子(上一篇博客中的例子):
package com.stuPayment.uiController; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class TestController { private final Logger logger = LoggerFactory.getLogger(getClass()); @RequestMapping("/test")
public String testPage() {
logger.trace("#######################hello this is trace");
logger.debug("#######################hello this is debug");
logger.info("#######################hello this is info");
logger.warn("#######################hello this is warn");
logger.error("#######################hello this is error");
return "test";
}
}
但如果想使用更复杂的logback配置,那么就要另外用xml配置文件,要么用规定好的配置文件命名——logback-spring.xml(在src/main/resource下面就好),也可以自己命名一个xml文件,但要在appliction.properties中用logging.config告诉spring,像下面这个例子一样:
logging.config=classpath:logging-config.xml
然后关于这个logback的配置文件,可以到官网上看使用的方法或者是看别人的例子,这里有篇关于这个Logback.xml的配置讲得比较详细的博客:
https://blog.csdn.net/inke88/article/details/75007649
还有个现成可以用的xml(我觉得):
https://www.cnblogs.com/lspz/p/6473686.html
Springboot日志配置探索(主要看logback)(二)的更多相关文章
- Springboot日志配置探索(主要看logback)(一)
这篇博客是springboot日志配置探索的第一篇,主要讲默认配置下springboot的logback日志框架的配置(即直接使用是怎样的) 首先,是一个SpringBoot的有关日志的说明文档:ht ...
- SpringBoot Logback配置,SpringBoot日志配置
SpringBoot Logback配置,SpringBoot日志配置 SpringBoot springProfile属性配置 ================================ © ...
- 功能:SpringBoot日志配置详情
SpringBoot日志配置详情 一.介绍 在所有的项目中,日志是必不可少的,为了高效清晰的查找日志,可以配置日志输出的等级和格式. 在配置后,可以自定义输出日志到指定目录,可以按照天数来分割日志,可 ...
- (转)Springboot日志配置(超详细,推荐)
Spring Boot-日志配置(超详细) 更新日志: 20170810 更新通过 application.yml传递参数到 logback 中. Spring Boot-日志配置超详细 默认日志 L ...
- springboot 日志配置
maven依赖中添加了 spring-boot-starter-logging : <dependency> <groupId>org.springframework.boot ...
- SpringBoot日志配置(详解) 涉及控制台输出日志、生成日志文件、日志级别修改、hibernate日志不输出
写在前面 本篇主要讲述日志配置,看完本篇可以解决下述问题, 控制台输出日志.生成日志文件.日志级别修改.hibernate日志不输出 Git Demo Path:https://github.com/ ...
- springboot日志配置
默认情况下,spring boot使用的是LogBack日志系统.在spring-boot-starter-web和spring-boot-starter中都已经默认依赖了logging的工具包. 如 ...
- 微服务-springboot日志配置
springboot 默认会加载classpath:logback-spring.xml文件. springProfile 中的name名字对应application-xx.properties 中的 ...
- ELK springboot日志收集
一.安装elasticsearch 可以查看前篇博客 elasticsearch安装.elasticsearch-head 安装 二.安装 配置 logstash 1.安装logstash 下载地址: ...
随机推荐
- C# GDI生成清晰【高质量】图片
对于GDI+,在正常的操作,Bitmap,Graphcis,DrawImage或者DrawString ,生成图片的话,会产生很多杂点,或者是图片质量不稳定.尤其是在读取图片后,生成缩略图之后,文件会 ...
- 让Spinner中的文字居中
如果套用simple_spinner_item或是simple_spinner_dropdown_item,然后直接在Spinner中用 android:gravity="center&qu ...
- Chkrootkit安装配置教程 – Linux后门入侵检测
rootkit从浅显的层面来讲即一种具有自我隐蔽性的后门程序,它往往被入侵者作为一种入侵工具.通过rootkit,入侵者可以偷偷控制被入侵的电脑,因此危害巨大.chkrootkit是一个Linux系统 ...
- CodeForces - div1 -650D:Zip-line(主席树 占位)
(和南京那题很像,比赛的时候就两个队A了.我们队找到了思路,但是花了1个多小时没有写出来,emmmm,我的锅,当时线段树写丑了. 题意:给定数组,Q次询问,假设把第i个大小hi改为b,求最长上升子序列 ...
- LOJ114 k大异或和
传送门 (vjudge和hdu也有但是我觉得LOJ好看!而且限制少!) 不过本题描述有误,应该是k小. 首先我们需要对线性基进行改造.需要把每一位改造成为,包含最高位的能异或出来的最小的数. 为啥呢? ...
- npm 引入第三方过滤器
根据项目具体情况使用过滤器,如果不满足业务需求可以在vue的全局或者局部自定义fiter(过滤器) 一下是github提供的第三方过滤器: https://github.com/freearhey/v ...
- js 字符串拼接、截取、查找...
函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: let str=”020-88888888-03”; let arr=str.split(”-”); console ...
- 自己实现c++中string 类
class String { public: String(const char *str = NULL);// 普通构造函数 String(const String &other);// 拷 ...
- 4.java变量
1.java中如何定义变量的语言 数据类型 变量名:2.如何给变量赋值 语言 变量名=值:3.变量本质是什么. 本质就是内存中的一块空间,这块空间有‘类型’.“名字”.“值” int a;//在内存中 ...
- final/finalize/finally的区别
一.性质不同 (1)final为关键字: (2)finalize()为方法:---垃圾回收机制中的方法(GC) (3)finally为为区块标志,用于try语句中: 二.作用 (1)final为用于标 ...