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 下载地址: ...
随机推荐
- hadoop,帮我解了部分惑的文章
http://blog.csdn.net/qianshangding0708/article/details/47423613
- PYTHON 爬虫笔记二:Urllib库基本使用
知识点一:urllib的详解及基本使用方法 一.基本介绍 urllib是python的一个获取url(Uniform Resource Locators,统一资源定址器)了,我们可以利用它来抓取远程的 ...
- phpcms v9中的$CATEGORYS栏目数组
首先 如果不能用$CATEGORYS这个数组或掉不出来内容应加入 $CATEGORYS = getcache('category_content_1','commons'); 1.用途 $CATEGO ...
- 安装python解释器
Python目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python环境,在Windows系统上需要安装一下,超简单 打开官网 https://www.python.org/d ...
- Python的GIL是什么鬼,多线程性能究竟如何
前言:博主在刚接触Python的时候时常听到GIL这个词,并且发现这个词经常和Python无法高效的实现多线程划上等号.本着不光要知其然,还要知其所以然的研究态度,博主搜集了各方面的资料,花了一周内几 ...
- 杂项:UI
ylbtech-杂项:UI 1.返回顶部 1. UI即User Interface(用户界面)的简称.泛指用户的操作界面,包含移动APP,网页,智能穿戴设备等.UI设计主要指界面的样式,美观程度.而使 ...
- Linux命令行设置环境变量
参考 Linux命令行--使用linux环境变量 Linux命令行—使用Linux环境变量
- CF-807C
C. Success Rate time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- Flutter实战视频-移动电商-59.购物车_计算商品价格和数量
59.购物车_计算商品价格和数量 本节课主要是加上自动计算的功能 provide/cart.dart 在provide的类里面增加两个变量 cart_bottom.dart 三个组件因为我们都需要套一 ...
- 3、webpack打包出的文件解析
分析打包后的结果,看看打包后的结果是什么东西 把打包后的结果.注释什么的删删‘’ 当前是一个匿名函数. 默认的时候会执行,执行的时候会传一个对象,对象有几部分,第一部分是我们的key.第二部分是我们的 ...