spring boot项目中如何使用日志框架
首先了解一下常见的日志框架都有哪些:
左边是接口,右边是实现类。我们采用排除法来选择适合我们的框架。
(1)对于jboss-logging来说,这个框架的诞生就不是用来服务大众的。
(2)对于JUL实现的过于简单,框架比较简陋。
(3)对于Log4j2的设计思想过于超前,很多技术不兼容。
(4)SLF4j、Log4g、Logback的作者是同一个人,作者说了Log4j的框架太烂,自己已经不想改了,所以才写了Logback,而SLF4j和Logback同一个作者,而springboot中也是用的SLF4j和Logback。
所以本次日志架选择SLF4j和Logback。
我们的日志需求是什么?
1、区分info和error日志。
2、每天产生一个日志文件,存在本地。
第一步:在resource中创建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>/日志信息文件/var/log/tomcat/sell/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>/日志信息文件/var/log/tomcat/sell/error.%d.log</fileNamePattern>
-
</rollingPolicy>
-
</appender>
-
<!--引入日志配置,ROOT下整个项目都适用-->
-
<root level="info">
-
<appender-ref ref="consoleLog" />
-
<appender-ref ref="fileInfoLog" />
-
<appender-ref ref="fileErrorLog" />
-
</root>
-
-
</configuration>
第二步:测试
-
@RunWith(SpringRunner.class)
-
@SpringBootTest
-
public class LoggerTest {
-
-
private static final Logger logger = LoggerFactory.getLogger(LoggerTest.class);
-
@Test
-
public void test1(){
-
logger.debug("in debug......");
-
logger.info("in info........");
-
logger.error("in error..........");
-
}
-
}
输出结果为:
可以根据自己的需求配置日志的xml,不过值得一提的是日志的级别,跳进源码中看一看:
-
public enum Level {
-
ERROR(40, "ERROR"),
-
WARN(30, "WARN"),
-
INFO(20, "INFO"),
-
DEBUG(10, "DEBUG"),
-
TRACE(0, "TRACE");
默认的级别是info,越往上日志级别越高,所以如果想要输出debug日志,需要将level设置为debug。 <script>
(function(){
function setArticleH(btnReadmore,posi){
var winH = $(window).height();
var articleBox = $("div.article_content");
var artH = articleBox.height();
if(artH > winH*posi){
articleBox.css({
'height':winH*posi+'px',
'overflow':'hidden'
})
btnReadmore.click(function(){
articleBox.removeAttr("style");
$(this).parent().remove();
})
}else{
btnReadmore.parent().remove();
}
}
var btnReadmore = $("#btn-readmore");
if(btnReadmore.length>0){
if(currentUserName){
setArticleH(btnReadmore,3);
}else{
setArticleH(btnReadmore,1.2);
}
}
})()
</script>
</article>
- HTML/XML
- objective-c
- Ruby
- PHP
- C
- C++
- JavaScript
- Python
- Java
- CSS
- SQL
- 其它
springboot默认的日志管理工具logback的配置
wsywb111
03-22 1137
1.首先创建xxx-spring.xml(必须是以spring结尾)2.logback-spring.xml的内容编辑&lt;?xml version="1.0" enco...
<div class="recommend-item-box type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.****.net/flysun3344/article/details/80555746,BlogCommendFromBaidu_2,index_2"}" data-flg="true">
<a href="https://blog.****.net/flysun3344/article/details/80555746" target="_blank" title="SpringBoot默认日志框架配置">
<div class="content" style="width: 842px;">
<h4 class="text-truncate oneline" style="width: 719px;">
<em>Spring</em><em>Boot</em>默认<em>日志框架</em>配置 </h4>
<div class="info-box d-flex align-content-center">
<p class="avatar">
<img src="https://avatar.****.net/7/2/F/3_flysun3344.jpg" alt="flysun3344" class="avatar-pic">
<span class="namebox" style="left: -29px;">
<span class="name">flysun3344</span>
<span class="triangle"></span>
</span>
</p>
<p class="date-and-readNum">
<span class="date hover-show">06-03</span>
<span class="read-num hover-hide">
<svg class="icon ****c-yuedushu" aria-hidden="true">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#****c-yuedushu"></use>
</svg>
1224</span>
</p>
</div>
<p class="content oneline" style="width: 842px;">
今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢如何引入日志?日志输出格式以及输出方式如何配置?代码中如何使用?正文Spring Boo... </p>
</div>
</a>
</div>
<div class="recommend-item-box type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.****.net/gwd1154978352/article/details/78344091,BlogCommendFromBaidu_3,index_3"}" data-flg="true">
<a href="https://blog.****.net/gwd1154978352/article/details/78344091" target="_blank" title="springboot干货——(四)日志配置及分析">
<div class="content" style="width: 842px;">
<h4 class="text-truncate oneline" style="width: 719px;">
<em>spring</em><em>boot</em>干货——(四)日志配置及分析 </h4>
<div class="info-box d-flex align-content-center">
<p class="avatar">
<img src="https://avatar.****.net/F/3/E/3_gwd1154978352.jpg" alt="gwd1154978352" class="avatar-pic">
<span class="namebox" style="left: -44px;">
<span class="name">gwd1154978352</span>
<span class="triangle"></span>
</span>
</p>
<p class="date-and-readNum">
<span class="date hover-show">10-25</span>
<span class="read-num hover-hide">
<svg class="icon ****c-yuedushu" aria-hidden="true">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#****c-yuedushu"></use>
</svg>
9156</span>
</p>
</div>
<p class="content oneline" style="width: 842px;">
前言日志在项目中应该算是最重要的部分之一,尤其是上线之后,好的日志配置能够将其优势发挥到极致,大大降低后期的维护成本,好的日志配置能够让程序员一眼看出项目的问题继而加以改善。这章我们就来学习一下Spr... </p>
</div>
</a>
</div>
<div class="recommend-item-box type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.****.net/yingxiake/article/details/51263747,BlogCommendFromBaidu_4,index_4"}" data-flg="true">
<a href="https://blog.****.net/yingxiake/article/details/51263747" target="_blank" title="spring boot 基础日志配置">
<div class="content" style="width: 842px;">
<h4 class="text-truncate oneline" style="width: 717px;">
<em>spring</em> <em>boot</em> 基础日志配置 </h4>
<div class="info-box d-flex align-content-center">
<p class="avatar">
<img src="https://avatar.****.net/4/C/C/3_yingxiake.jpg" alt="yingxiake" class="avatar-pic">
<span class="namebox" style="left: -25px;">
<span class="name">yingxiake</span>
<span class="triangle"></span>
</span>
</p>
<p class="date-and-readNum">
<span class="date hover-show">04-27</span>
<span class="read-num hover-hide">
<svg class="icon ****c-yuedushu" aria-hidden="true">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#****c-yuedushu"></use>
</svg>
3.3万</span>
</p>
</div>
<p class="content oneline" style="width: 842px;">
spring boot内部使用Commons Logging来记录日志,但也保留外部接口可以让一些日志框架来进行实现,例如Java Util Logging,Log4J2还有Logback。如果你想用... </p>
</div>
</a>
</div>
<div class="recommend-item-box type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.****.net/snakeMoving/article/details/77199150,BlogCommendFromBaidu_5,index_5"}" data-flg="true">
<a href="https://blog.****.net/snakeMoving/article/details/77199150" target="_blank" title="Spring Boot干货系列:默认日志框架配置">
<div class="content" style="width: 842px;">
<h4 class="text-truncate oneline" style="width: 719px;">
<em>Spring</em> <em>Boot</em>干货系列:默认<em>日志框架</em>配置 </h4>
<div class="info-box d-flex align-content-center">
<p class="avatar">
<img src="https://avatar.****.net/8/B/6/3_snakemoving.jpg" alt="snakeMoving" class="avatar-pic">
<span class="namebox" style="left: -35.5px;">
<span class="name">snakeMoving</span>
<span class="triangle"></span>
</span>
</p>
<p class="date-and-readNum">
<span class="date hover-show">08-15</span>
<span class="read-num hover-hide">
<svg class="icon ****c-yuedushu" aria-hidden="true">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#****c-yuedushu"></use>
</svg>
3643</span>
</p>
</div>
<p class="content oneline" style="width: 842px;">
原文来自:http://blog.****.net/gebitan505/article/details/70142155?locationNum=1&fps=1
前言
今…
springboot整合logback日志
zl_1079167478
05-17
3261
springboot整合logback日志
logback maven 配置
ch.qos.logback
logback-cla... </p>
</div>
</a>
</div>
<div class="recommend-item-box type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.****.net/veZunShao/article/details/53074006,BlogCommendFromBaidu_7,index_7"}" data-flg="true">
<a href="https://blog.****.net/veZunShao/article/details/53074006" target="_blank" title="SpringBoot初始教程之日志处理(二)">
<div class="content" style="width: 842px;">
<h4 class="text-truncate oneline" style="width: 717px;">
<em>Spring</em><em>Boot</em>初始教程之日志处理(二) </h4>
<div class="info-box d-flex align-content-center">
<p class="avatar">
<img src="https://avatar.****.net/E/5/0/3_vezunshao.jpg" alt="veZunShao" class="avatar-pic">
<span class="namebox" style="left: -30.5px;">
<span class="name">veZunShao</span>
<span class="triangle"></span>
</span>
</p>
<p class="date-and-readNum">
<span class="date hover-show">11-07</span>
<span class="read-num hover-hide">
<svg class="icon ****c-yuedushu" aria-hidden="true">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#****c-yuedushu"></use>
</svg>
1.2万</span>
</p>
</div>
<p class="content oneline" style="width: 842px;">
SpringBoot初始教程之日志处理(二)1.介绍SpringBoot默认是采用logback进行日志处理、Logback是由log4j创始人设计的又一个开源日志组件。Logback是由log4j创... </p>
</div>
</a>
</div>
<div class="recommend-item-box recommend-download-box clearfix" data-track-click="{"mod":"popu_387","con":",https://download.****.net/download/struggling_rong/10229451,BlogCommendFromBaidu_8,index_8"}" data-flg="true">
<a href="https://download.****.net/download/struggling_rong/10229451" target="_blank">
<div class="content">
<div class="">
<span class="type">下载</span>
<h4 class="text-truncate oneline clearfix">
【<em>Spring</em><em>Boot</em>探索二】<em>Spring</em><em>Boot</em>项目集成日志记录功能 </h4>
<span class="data float-right">01-29</span>
</div>
<div class="desc oneline">
该资源为博客文章"【SpringBoot探索二】SpringBoot项目集成日志记录功能"中的示例 </div>
</div>
</a>
</div>
<div class="recommend-item-box type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.****.net/u012758488/article/details/79478107,BlogCommendFromBaidu_9,index_9"}" data-flg="true">
<a href="https://blog.****.net/u012758488/article/details/79478107" target="_blank" title="springboot集成log4j日志">
<div class="content" style="width: 842px;">
<h4 class="text-truncate oneline" style="width: 719px;">
<em>spring</em><em>boot</em>集成log4j日志 </h4>
<div class="info-box d-flex align-content-center">
<p class="avatar">
<img src="https://avatar.****.net/F/0/B/3_u012758488.jpg" alt="u012758488" class="avatar-pic">
<span class="namebox" style="left: -33.5px;">
<span class="name">u012758488</span>
<span class="triangle"></span>
</span>
</p>
<p class="date-and-readNum">
<span class="date hover-show">03-07</span>
<span class="read-num hover-hide">
<svg class="icon ****c-yuedushu" aria-hidden="true">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#****c-yuedushu"></use>
</svg>
1441</span>
</p>
</div>
<p class="content oneline" style="width: 842px;">
一、新建log4j.properties配置文件,配置内容如下:#log4j.rootLogger=CONSOLE,info,error,DEBUGlog4j.rootLogger=info,erro... </p>
</div>
</a>
</div>
<div class="recommend-item-box blog-expert-recommend-box" style="display: block;">
<h4 class="text-truncate" style="width: 802px;">博主推荐
</h4>
<div class="blog-expert-recommend">
<div class="blog-expert-load-new" data-index="3" style="display: block;">
<svg version="1.1" viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
<path d="M142.5,57.5c-1.3-1.2-2.1-3.3-2.1-5.4c0-4.2,3.3-7.5,7.5-7.5h19.6c4.2,0,7.5,3.3,7.5,7.5s-3.3,7.5-7.5,7.5h-4.2
C170.8,71.2,175,85,175,100c0,41.7-33.8,75-75,75c-4.2,0-7.5-3.3-7.5-7.5c0-4.2,3.3-7.5,7.5-7.5c33.3,0,60-27.1,60-60
C160,83.7,153.8,68.7,142.5,57.5L142.5,57.5z M57.5,142.5c1.2,1.2,2.1,3.3,2.1,5.4c0,4.2-3.3,7.5-7.5,7.5H32.5
c-4.2,0-7.5-3.3-7.5-7.5c0-4.2,3.3-7.5,7.5-7.5h4.2C29.2,128.8,25,115,25,100c0-41.7,33.7-75,75-75c4.2,0,7.5,3.3,7.5,7.5
S104.2,40,100,40c-33.3,0-60,27.1-60,60C40,116.2,46.2,131.2,57.5,142.5z"></path>
</svg>
<span>换一批</span>
</div>
<div class="blog-expert">
<div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{"mod":"popu_709","con":"https://blog.****.net/weixin_41660188/article/details/80113837"}"><a href="https://blog.****.net/broadview20061" target="_blank"><img src="https://avatar.****.net/F/E/7/3_broadview2006.jpg" alt="博文视点"><svg class="icon" aria-hidden="true"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#****c-blogexpert"></use></svg></a></div><div class="info"><span data-track-click="{"mod":"popu_709","con":"https://blog.****.net/weixin_41660188/article/details/80113837"}"><a href="https://blog.****.net/broadview2006" target="_blank"><h5 class="oneline">博文视点</h5></a></span> <p><span data-track-click="{"mod":"popu_710","con":"https://blog.****.net/weixin_41660188/article/details/80113837"}"><span class="blog-expert-button-follow btn-red-follow" data-name="broadview2006" data-nick="博文视点">关注</span></span><span class="article-num"> 1785篇文章</span></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{"mod":"popu_709","con":"https://blog.****.net/weixin_41660188/article/details/80113837"}"><a href="https://blog.****.net/tuzongxun1" target="_blank"><img src="https://avatar.****.net/F/6/B/3_tuzongxun.jpg" alt="涂宗勋"><svg class="icon" aria-hidden="true"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#****c-blogexpert"></use></svg></a></div><div class="info"><span data-track-click="{"mod":"popu_709","con":"https://blog.****.net/weixin_41660188/article/details/80113837"}"><a href="https://blog.****.net/tuzongxun" target="_blank"><h5 class="oneline">涂宗勋</h5></a></span> <p><span data-track-click="{"mod":"popu_710","con":"https://blog.****.net/weixin_41660188/article/details/80113837"}"><span class="blog-expert-button-follow btn-red-follow" data-name="tuzongxun" data-nick="涂宗勋">关注</span></span><span class="article-num"> 289篇文章</span></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{"mod":"popu_709","con":"https://blog.****.net/weixin_41660188/article/details/80113837"}"><a href="https://blog.****.net/xybclndcn1" target="_blank"><img src="https://avatar.****.net/8/E/1/3_xybclndcn.jpg" alt="呀吼"></a></div><div class="info"><span data-track-click="{"mod":"popu_709","con":"https://blog.****.net/weixin_41660188/article/details/80113837"}"><a href="https://blog.****.net/xybclndcn" target="_blank"><h5 class="oneline">呀吼</h5></a></span> <p><span data-track-click="{"mod":"popu_710","con":"https://blog.****.net/weixin_41660188/article/details/80113837"}"><span class="blog-expert-button-follow btn-red-follow" data-name="xybclndcn" data-nick="呀吼">关注</span></span><span class="article-num"> 21篇文章</span></p></div></div></div></div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.****.net/gebitan505/article/details/70142155,BlogCommendFromBaidu_10,index_10"}" data-flg="true">
<a href="https://blog.****.net/gebitan505/article/details/70142155" target="_blank" title="Spring Boot干货系列:(七)默认日志框架配置">
<div class="content" style="width: 842px;">
<h4 class="text-truncate oneline" style="width: 717px;">
<em>Spring</em> <em>Boot</em>干货系列:(七)默认<em>日志框架</em>配置 </h4>
<div class="info-box d-flex align-content-center">
<p class="avatar">
<img src="https://avatar.****.net/9/3/8/3_gebitan505.jpg" alt="gebitan505" class="avatar-pic">
<span class="namebox" style="left: -29.5px;">
<span class="name">gebitan505</span>
<span class="triangle"></span>
</span>
</p>
<p class="date-and-readNum">
<span class="date hover-show">04-12</span>
<span class="read-num hover-hide">
<svg class="icon ****c-yuedushu" aria-hidden="true">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#****c-yuedushu"></use>
</svg>
3.7万</span>
</p>
</div>
<p class="content oneline" style="width: 842px;">
后端编程嘟 2017-04-05 21:53
前言
今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢
…
spring boot
曾经使用spring我们需要各种各样的配置web.xml,配置springapplication.xml。真的很繁琐…
springboot整合solr
zqw997256964
04-09
650
一、本文将solr安装在linux上。首先先安装好jdk和tomcat。
配置环境:jdk8,tomcat8.5,solr7.2.1.。
二、复制Solr文件夹中的一些文件到apache-tomc…
Logging level
solr.log=logs
log4…
Spring-Boot–日志操作【全局异常捕获消息处理☞日志控制台输出+日志文件记录】
Appleyk
12-05
1.3万
最好的演示说明,不是上来就贴配置文件和代码,而是,先来一波配置文件的注释,再来一波代码的测试过程,最后再出个技术在项目中的应用效果,这样的循序渐进的方式,才会让读者更加清楚的理解一项技术…
springboot 日志管理之Logback
wushuchu
03-01
107
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;configuration debug…
SpringBoot项目中使用日志框架log4j——为什么使用日志(一)
xybclndcn
03-31
244
为什么要打印日志?为什么要使用日志框架?情景展示:1.使用应用程序是客户,如果程序出了问题,一般客户能提供精确步骤就阿弥陀佛了。如果我们仅仅使用调试器断点机制,该问题没有重现,会让我们以为已经解决了,…
java项目中的日志框架使用
wuqingdeqing
02-09
161
看过一些项目后发现其中使用的日志框架多有不同,经过一些调研与询问,觉得阿里Java开发手册中所说较为合理。日志中不要直接使用日志系统(Lg4j, Logback)的API,而应依赖使用日志框架SLF4…
使用Spring Boot日志框架在已有的微服务代码中添加日志功能
broadview2006
09-06
1532
引言:我们需要在已有的微服务代码中添加日志功能,用于输出需要关注的内容,这是最平常的技术需求了。由于我们的微服务代码是基于SpringBoot开发的,那么问题就转换为如何在Spring Boot应用程…
SpringBoot项目中使用redis缓存
haiyan_qi
12-03
3333
1.概述在应用中有效的利用redis缓存可以很好的提升系统性能,特别是对于查询操作,可以有效的减少数据库压力。具体的代码参照该 示例项目2.添加引用在build.gradle加入compile('or…
&amp;amp;amp;lt;dependency&amp;amp;amp;gt;
&amp…
概述
Java应用中,日志一般分为以下5个级别:
ERROR 错误信息
WARN 警告信息
INFO 一般信息
DEBUG 调试信息
TRACE 跟踪信息
Spring Boot…
Spring boot中使用log4j记录日志
moshenglv
08-25
3821
之前在Spring Boot日志管理一文中主要介绍了Spring Boot中默认日志工具(logback)的基本配置内容。对于很多习惯使用log4j的开发者,Spring Boot依然可以很好的支持,…
spring-boot整合logback
wuxjian1223
03-28
108
创建logback-spring.xml&lt;?xml version="1.0" encoding="UTF-8" ?&gt;
&…
springboot默认使用logback日志框架。
在src/main/resources路径下创建logback.xml文件,模板见2。springboot则会自动读取该配置文件并启…
solr 运行日志
asdfsadfasdfsa
05-20
2890
默认配置下是每个node下的所有core共享一个运行日志,在-d指定的 server diretory的logs目录下的solr.log文件…
spring boot (四) 日志的使用
zhenghuasheng
11-14
560
Spring Boot支持 Java Utile Logging、Log4J、Log4J2和Logback作为日志框架,无论使用哪种框架,Spring Boot都为当前使用日志框架及文件输出做好了配置…
一、简介
Logback作为流行的log4j项目的继承者。它是由log4j的创始人Ceki Gulcu设计的。它是建立在上十年优质日志系统设计经验之上而产生的产品,即logback,它比…