SpringBoot Logback配置,SpringBoot日志配置

 SpringBoot springProfile属性配置

================================

©Copyright 蕃薯耀 2018年3月27日

http://www.cnblogs.com/fanshuyao/

附件下载(源码下载)见:http://fanshuyao.iteye.com/blog/2414522

将logback-spring.xml或者logback.xml放在src/main/resources下,springBoot日志框架会自动识别日志配置。

建议使用logback-spring.xml命名,因为可以使用springBoot的高级属性(springProfile):可以加上开发模式、测试模式、生产模式的配置,利于多环境打包。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration debug="false">
  3. <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
  4. <property name="LOG_HOME" value="/home" />
  5. <property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" />
  6. <!-- 控制台输出 -->
  7. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  8. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  9. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  10. <pattern>${pattern}</pattern>
  11. </encoder>
  12. </appender>
  13. <!-- 控制台输出 -->
  14. <!-- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  15. <layout class="ch.qos.logback.classic.PatternLayout">
  16. <springProfile name="dev">
  17. <Pattern>%date [%thread] %-5level %logger{80} - %msg%n</Pattern>
  18. </springProfile>
  19. </layout>
  20. </appender> -->
  21. <!-- 按照每天生成日志文件 -->
  22. <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  23. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  24. <!--日志文件输出的文件名-->
  25. <FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern>
  26. <!--日志文件保留天数-->
  27. <MaxHistory>30</MaxHistory>
  28. </rollingPolicy>
  29. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  30. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  31. <pattern>${pattern}</pattern>
  32. </encoder>
  33. <!--日志文件最大的大小-->
  34. <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  35. <MaxFileSize>10MB</MaxFileSize>
  36. </triggeringPolicy>
  37. </appender>
  38. <!-- 日志输出级别 -->
  39. <root level="INFO">
  40. <appender-ref ref="STDOUT" />
  41. </root>
  42. </configuration>

springProfile官方说明:

The <springProfile> tag lets you optionally include or exclude sections of configuration based on the active Spring profiles. Profile sections are supported anywhere within the <configuration> element. Use the name attribute to specify which profile accepts the configuration. Multiple profiles can be specified with a comma-separated list. The following listing shows three sample profiles:

  1. <springProfile name="staging">
  2. <!-- configuration to be enabled when the "staging" profile is active -->
  3. </springProfile>
  4. <springProfile name="dev, staging">
  5. <!-- configuration to be enabled when the "dev" or "staging" profiles are active -->
  6. </springProfile>
  7. <springProfile name="!production">
  8. <!-- configuration to be enabled when the "production" profile is not active -->
  9. </springProfile>

例子:

使用springProfile配置,logback日志配置文件必须命名为:logback-spring.xml

  1. <springProfile name="dev">
  2. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  3. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  4. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  5. <pattern>---dev - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  6. </encoder>
  7. </appender>
  8. </springProfile>
  9. <springProfile name="test">
  10. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  11. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  12. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  13. <pattern>===test  %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  14. </encoder>
  15. </appender>
  16. </springProfile>
  17. <springProfile name="zprod">
  18. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  19. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  20. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  21. <pattern>+++zprod  %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  22. </encoder>
  23. </appender>
  24. </springProfile>

然后在application.properties配置spring.profiles.active属性:

  1. spring.profiles.active=zprod

================================

©Copyright 蕃薯耀 2018年3月27日

http://www.cnblogs.com/fanshuyao/

SpringBoot Logback配置,SpringBoot日志配置的更多相关文章

  1. ELK+SpringBoot+Logback离线安装及配置

    ELK+SpringBoot+Logback 离线安装及配置 版本 v1.0 编写时间 2018/6/11 编写人 xxx     目录 一. ELK介绍2 二. 安装环境2 三. Elasticse ...

  2. SpringBoot整合log4j2进行日志配置及防坑指南

    写在前面 最近项目经理要求将原先项目中的日志配置logBack,修改为log4j2,据说是log4j2性能更优于logback,具体快多少,网上有说快10多倍,看来还是很快的,于是新的一波挑战又开始了 ...

  3. springboot超级详细的日志配置(基于logback)

    前言   java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用) ...

  4. springboot支付项目之日志配置

    日志框架 本节主要内容: 1:常见的几种日志框架 2:Logback的使用 3:怎么配置info和error级别日志到不同文件中并且按照日期每天一个文件. 以上几个框架可以分类如下: SLF4J和Lo ...

  5. logback.xml解读----日志配置解读

    初次接触javaweb项目的日志是log4j文件,但是后来发现通过配置logback.xml文件实现日志输出非常好用.经过上午的学习,现总结如下: 直接上配置文件和注释: <?xml versi ...

  6. Spring Boot中实现logback多环境日志配置

    在Spring Boot中,可以在logback.xml中的springProfile标签中定义多个环境logback.xml: <springProfile name="produc ...

  7. logback&log4j异步日志配置

    logback 原始配置 配置 appender, 控制文件的滚动方式,日志的输出格式. <appender name="method-time-appender" clas ...

  8. logback条件日志配置

    logback支持条件日志配置,支持在测试环境和正式环境使用不同的参数启用不同的日志配置,从而避免手动修改日志配置文件.项目除了引入logback的包以外,还需要引入构件org.codehaus.ja ...

  9. Spring Boot 日志配置

    Spring Boot 日志配置 默认日志 Logback: 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很 ...

  10. nginx的日志配置

    本文转自:https://www.cnblogs.com/biglittleant/p/8979856.html 版权归属原作者!!!!!! nginx access日志配置 access_log日志 ...

随机推荐

  1. 《JavaScript-The Definitive Guide》读书笔记:函数定义和函数调用

    定义函数 使用function关键字来定义函数,分为两种形式: 声明式函数定义: function add(m,n) { alert(m+n); } 这种方式等同于构造一个Function类的实例的方 ...

  2. Mysql启动失败

    错误提示: 服务名无效 错误原因: mysql服务没有安装. 解决方法: 管理员的权限运行cmd 用dos命令进入到mysql安装目录下再进入到bin目录下 运行mysqld -install命令

  3. AngularJS中使用$http对MongoLab数据表进行增删改查

    本篇体验使用AngularJS中的$http对MongoLab数据表进行增删改查. 主页面: <button ng-click="loadCourse()">Load ...

  4. 关于three.js中添加文字的方式[转]

    https://blog.csdn.net/qq563969790/article/details/76584976 网上资料大部分是通过引入外部font库进行文字效果的载入,但是在实际运行的时候发现 ...

  5. Asp.net 子域共享cookie

    最近项目遇到要共享cookie的问题,本来后台保存session用的是Redis来保存数据的.所以只需要2个站点发的ASP.NET_SessionId是相同的就可以,并且它的Domain 是父级域名. ...

  6. JSON.parse 必须用双引号包起来

    Why is it that whenever I do :- JSON.parse('"something"') it just parses fine but when I d ...

  7. C# Chart使用总结 1 ---------关于图表数据的来源

    关于图表数据的来源: 1.通过XValueMember YValueMembers 设置 OleDbConnection conn = new OleDbConnection(connStr); Ol ...

  8. 【Visual Studio】VS发布应用未能创建默认证书的问题解决方法

    解决方法:点击你创建的项目 右键> 属性>签名>从存储区选择>选择证书这时候显示无可用证书 ,然后我从文件区选择了一个结果,又出现了第二个问题.提示我“签名时出错: 指定了无效 ...

  9. C#:文件夹匹配

    //文件夹匹配:对比文件夹,相同的目录结构.所有文件名称小写相同,制定文件外的MD5值相同 ,则两个文件夹匹配成功! /// <summary> /// 批量匹配书籍H5资源包 /// & ...

  10. Effective Java 第三版——45. 明智审慎地使用Stream

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...