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 下载地址: ...
随机推荐
- CSU - 1803 —— 数学题
题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1803 Description 给出正整数 n 和 m,统计满足以下条件的正整数对 ...
- 关于lock锁
在 jdk1.5 之后,并发包中新增了 Lock 接口(以及相关实现类)用来实现锁功能,Lock 接口提供了与 synchronized 关键字类似的同步功能,但需要在使用时手动获取锁和释放锁. lo ...
- swoole异步redis安装前置条件和流程
---恢复内容开始--- 1.redis服务 确认redis在服务器中已经安装了 2.hiredis库 第二步安装hiredis 下载位置 2.1获取 安装包https://github.com/re ...
- Android自动化测试怎么填写Xpath
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA5sAAAJYCAIAAABjAmXpAAAgAElEQVR4nOzdeZhb5Z0veNV/M88sz7 ...
- wiki中文语料+word2vec (python3.5 windows win7)
环境: win7+python3.5 1. 下载wiki中文分词语料 使用迅雷下载会快不少,大小为1个多G https://dumps.wikimedia.org/zhwiki/late ...
- 解决js 运算 精度缺失
github地址: https://github.com/MikeMcl/big.js
- C++可移植性和跨平台初探
概述 今天聊聊C++的可移植性问题.如果你平时使用C++进行开发,并且你对C++的可移植性问题不是非常清楚,那么我建议你看看这个系列.即使你目前没有跨平台开发的需要,了解可移植性方面的知识对你还是很有 ...
- C++之输入输出流和文件传输流
1.流的控制 iomanip 在使用格式化I/O时应包含此头文件. stdiostream 用于混合使用C和C + +的I/O机制时,例如想将C程序转变为C++程序 2.类 ...
- Mysql错误: ERROR 1205: Lock wait timeout exceeded; try restarting transaction
MySQL:innodb的事务锁,一个线程占用着,简单做法是:执行mysql命令: show full processlist; 然后找出查询语句的系统id:kill掉被锁住的线程id:kill 12 ...
- Win 7下破解Loadrunner 11(带中文版下载地址)
空间管理您的位置: 51Testing软件测试网 » 测试是一种生活态度 » 日志 与您一起分享在测试过程中的快乐与辛酸... Win 7下破解Loadrunner 11(带中文版下载地址) 上一篇 ...