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 下载地址: ...
随机推荐
- Codeforces Beta Round #96 (Div. 1) C. Logo Turtle —— DP
题目链接:http://codeforces.com/contest/132/problem/C C. Logo Turtle time limit per test 2 seconds memory ...
- mac安装python3
http://www.jianshu.com/p/51811fa24752 brew install python3 安装路径:/usr/local/Cellar 使用: 执行python3即可 配置 ...
- ffmpeg遇到inttypes.h和UINT64_C
http://blog.csdn.net/cll131421/article/details/7763657 编译过程:错误一:无法打开包括文件:“inttypes.h”: No such file ...
- c++变量定义
float **a 表示a是一个“指针的指针”,也可以理解为是一个二维数组的指针,***a具有类似的解释,可以理解为是一个三维数组的指针.
- codeforces 469B Chat Online 解题报告
题目链接:http://codeforces.com/problemset/problem/469/B 题目意思:给出 Little Z 的上线时间段,分别是[a1, b1], [a2, b2],.. ...
- JSTL取整、读取数组、字符串连接
以通过formatNumber去掉小数. <fmt:formatNumber type='number' value='${(tv.timeLong-tv.timeLong%60)/60 }' ...
- jQuery comet
下面程序是例用从数据端推送信息,原理是每隔10秒读取一下data.txt文件,看有木有新的数据输入,如果有,则alert文件内容. hmtl代码是 <!DOCTYPE html> < ...
- ubuntu bcompare 安装
Terminal Install wget http://www.scootersoftware.com/bcompare-4.2.8.23479_amd64.deb sudo apt-get upd ...
- Java字符串理解
1. 字符串基本知识 用java.lang.String类的对象表示字符串 字符串类型不是基本类型, 而是引用类型(类似于数组和对象) Java基于Unicode字符集 2. 字符串创建 public ...
- 【221】◀▶ IDL GUI 函数说明
参考:GUI - Dialogs Routines参考:GUI - Widgets Routines参考:GUI - Compound Widgets Routines 01 DIALOG_MES ...