在开发中打印内容,使用 System.out.println() 和 Log4j 应当是人人皆知的方法了。
其实在开发中我们不建议使用 System.out 因为大量的使用 System.out 会增加资源的消耗。
而Log4j 更为灵活在性能上也相比 System.out 要高,我们可以配置输出级别,可以指定多个日志文件分别记录不同的日志。
使用 System.out 是在当前线程执行的,写入文件也是写入完毕后才继续执行下面的程序。而使用Log工具不但可以控制日志是否输出,怎么输出,它的处理机制也是通知写日志,继续执行后面的代码不必等日志写完。
如非必要,建议大家不要使用控制台输出,因为控制台输出没有优先级会显得输出太乱。

个人推荐使用 SLF4J(Simple Logging Facade For Java)的logback来输出日志,其比log4j 要好,因为他效率更高。

日志配置

方法一(logback.xml)

<?xml version="1.0" encoding="UTF-8"?>
<configuration><include resource="org/springframework/boot/logging/logback/base.xml"/><logger name="cn.wuyang.springboot" level="TRACE" /> <!-- 你的路径和日志级别 -->
</configuration>

方法二(application.properties)

logging.level.org.springframework.web=INFO
logging.level.cn.wuyang.springboot=TRACE

方法三(logback-spring.xml)

<?xml version="1.0" encoding="UTF-8"?>
<configuration><include resource="org/springframework/boot/logging/logback/base.xml" /><logger name="org.springframework.web" level="INFO"/><logger name="cn.wuyang.springboot" level="TRACE" /><springProfile name="dev"><logger name="cn.wuyang.springboot" level="DEBUG" /></springProfile><springProfile name="staging"><logger name="cn.wuyang.springboot" level="INFO" /></springProfile></configuration>

日志本地落盘和日志格式

ConsoleAppender

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d %p (%file:%line\)  - %m%n</pattern><charset>UTF-8</charset></encoder></appender>

RollingFileAppender

<appender name="baselog"class="ch.qos.logback.core.rolling.RollingFileAppender"><File>log/base.log</File><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>log/base.log.%d.%i</fileNamePattern><timeBasedFileNamingAndTriggeringPolicyclass="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><!-- or whenever the file size reaches 64 MB --><maxFileSize>64 MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><encoder><pattern>%d %p (%file:%line\)- %m%n</pattern><charset>UTF-8</charset> <!-- 此处设置字符集 --></encoder></appender>
logback.xml

其中包含2中方式调用

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!--定义 start  --><!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,,,, --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d %p (%file:%line\)  - %m%n</pattern><charset>UTF-8</charset></encoder></appender><appender name="baselog"class="ch.qos.logback.core.rolling.RollingFileAppender"><File>log/base.log</File><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>log/base.log.%d.%i</fileNamePattern><timeBasedFileNamingAndTriggeringPolicyclass="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><!-- or whenever the file size reaches 64 MB --><maxFileSize>64 MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><encoder><pattern>%d %p (%file:%line\)- %m%n</pattern><charset>UTF-8</charset> <!-- 此处设置字符集 --></encoder></appender><!--定义 end  --><!-- 1.默认日志格式并写入文件 --><include resource="org/springframework/boot/logging/logback/base.xml"/><logger name="cn.wuyang.springboot" level="TRACE" ><appender-ref ref="baselog" /></logger><!-- 2.调用日志格式并写入文件 --><!-- <root level="INFO"><appender-ref ref="STDOUT" /></root><logger name="cn.wuyang.springboot" level="TRACE" ><appender-ref ref="baselog" /></logger> -->
</configuration>

文章来源:http://blog.csdn.net/itwuyang...

SpringBoot之日志记录 SLF4J(H)相关推荐

  1. slf4j导入那个依赖_学习SPRINGBOOT结合日志门面SLF4J和日志实现LOGBACK的混合使用

    一.此处主要介绍在springboot工程下如何使用 logback + slf4j 进行日志记录. logback主要包含三个组成部分:Loggers(日志记录器).Appenders(输出目的在) ...

  2. springboot日志写入mysql_44. Spring Boot日志记录SLF4J【从零开始学Spring Boot】

    学院中有Spring Boot相关的课程!点击「阅读原文」进行查看! SpringSecurity5.0视频:http://t.cn/A6ZadMBe Sharding-JDBC分库分表实战: 在开发 ...

  3. springboot项目日志记录访问客户端ip地址

    1.背景 在我们项目开发中,很多时候需要记录访问ip地址,方便跟踪操作日志定位是哪个机器访问了我们的服务(逮住证据),或者根据ip做一些分析统计. 那么使用springboot自带的logback如何 ...

  4. 06.大厂面试题:请讲下SpringBoot的日志框架原理

    查看spring-boot-starter-loggin的依赖关系,show dependencies 代码:https://github.com/NIGHTFIGHTING/spring_boot_ ...

  5. SpringBoot 项目使用 SLF4J+logback 进行日志记录,来增强可维护性

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:云深不知处 blog. ...

  6. SpringBoot使用Slf4j+Log4j2完成项目的日志记录

    SpringBoot使用Slf4j+Log4j完成项目的日志记录 前言 本示例采用SpringBoot项目使用SpringAOP记录日志,Slf4j作为日志门面,Log4j2作为日志实现实,实现开发中 ...

  7. Spring Boot与日志 ——日志框架、日志配置||SLF4j使用||SpringBoot日志关系||切换日志框架

    1.日志框架 SLF4j使用 1.如何在系统中使用SLF4j 以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法: 给系统里面导入slf4j的jar和 lo ...

  8. SpringBoot使用Logbook记录HTTP请求响应日志

    写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下! GitHub地址:https://github.com/ ...

  9. SpringBoot整合Logback日志框架+Slf4j注解使用

    文章目录 1.基本介绍 2.使用说明 2.1 引入maven依赖 2.2 创建logback-spring.xml 3.编写一个HTTP接口 3.1 通过创建LoggerFactory实例 3.2 通 ...

最新文章

  1. oracle bom层级sql,oracle bom_tree.sql
  2. ai取代程序员_你现在从事的程序员还有多久会消失?牛津大学研究员帮你算了算...
  3. java API(String类 和 StringBuffer类)
  4. DUALBOOT(双启动) 调试
  5. js判断是否在微信浏览器中打开
  6. 应用Strong Name保存.NET应用程序集
  7. boost.asio openssl zlib protobuf icu vs2015编译
  8. Selenium处理Select控件
  9. JDK粗体绘制效果为何如此之差
  10. 获取B站SESSDATA及解决403
  11. 云计算 概念 是什么
  12. 常用数字电路模块:计数器与分频电路(一)
  13. C++编译错误总结及其英文翻译————墨白
  14. python开发板卡驱动开发_树莓派开发板如何驱动LED灯
  15. 机载激光雷达测量技术理论与方法读书笔记(3)机载激光雷达测量数据的滤波分类
  16. 红米4鸿蒙系统刷机包,小米红米(移动版)刷机包 基于官方4.2.1 极简稳定纯净 完整root权限 V4.0...
  17. Javascript——尺寸和定位(操作指南)
  18. 关于LK详细解析介绍
  19. 一道蚂蚁金服简单的上机笔试题
  20. 函数使用:调和平均数

热门文章

  1. 【转载】用平常语言介绍神经网络
  2. JAVA的sleep
  3. QString 的使用技巧
  4. 大数据之-Hadoop3.x_MapReduce_序列化案例FlowDriver---大数据之hadoop3.x工作笔记0100
  5. 如何把MySql数据库中的数据导入到MyCat集群中_---Linux运维工作笔记050
  6. ASP.Net学习笔记011--ASP.Net揭秘之div版本自增
  7. eclipse 编码设置之BOM丢失
  8. php多少内置函数,php有多少个内置函数
  9. mysql 为什么不能安装_下载的mysql怎么无法安装
  10. 随想录(大学给了我们什么)