SpringBoot之日志记录 SLF4J(H)
在开发中打印内容,使用 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)相关推荐
- slf4j导入那个依赖_学习SPRINGBOOT结合日志门面SLF4J和日志实现LOGBACK的混合使用
一.此处主要介绍在springboot工程下如何使用 logback + slf4j 进行日志记录. logback主要包含三个组成部分:Loggers(日志记录器).Appenders(输出目的在) ...
- springboot日志写入mysql_44. Spring Boot日志记录SLF4J【从零开始学Spring Boot】
学院中有Spring Boot相关的课程!点击「阅读原文」进行查看! SpringSecurity5.0视频:http://t.cn/A6ZadMBe Sharding-JDBC分库分表实战: 在开发 ...
- springboot项目日志记录访问客户端ip地址
1.背景 在我们项目开发中,很多时候需要记录访问ip地址,方便跟踪操作日志定位是哪个机器访问了我们的服务(逮住证据),或者根据ip做一些分析统计. 那么使用springboot自带的logback如何 ...
- 06.大厂面试题:请讲下SpringBoot的日志框架原理
查看spring-boot-starter-loggin的依赖关系,show dependencies 代码:https://github.com/NIGHTFIGHTING/spring_boot_ ...
- SpringBoot 项目使用 SLF4J+logback 进行日志记录,来增强可维护性
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:云深不知处 blog. ...
- SpringBoot使用Slf4j+Log4j2完成项目的日志记录
SpringBoot使用Slf4j+Log4j完成项目的日志记录 前言 本示例采用SpringBoot项目使用SpringAOP记录日志,Slf4j作为日志门面,Log4j2作为日志实现实,实现开发中 ...
- Spring Boot与日志 ——日志框架、日志配置||SLF4j使用||SpringBoot日志关系||切换日志框架
1.日志框架 SLF4j使用 1.如何在系统中使用SLF4j 以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法: 给系统里面导入slf4j的jar和 lo ...
- SpringBoot使用Logbook记录HTTP请求响应日志
写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下! GitHub地址:https://github.com/ ...
- SpringBoot整合Logback日志框架+Slf4j注解使用
文章目录 1.基本介绍 2.使用说明 2.1 引入maven依赖 2.2 创建logback-spring.xml 3.编写一个HTTP接口 3.1 通过创建LoggerFactory实例 3.2 通 ...
最新文章
- oracle bom层级sql,oracle bom_tree.sql
- ai取代程序员_你现在从事的程序员还有多久会消失?牛津大学研究员帮你算了算...
- java API(String类 和 StringBuffer类)
- DUALBOOT(双启动) 调试
- js判断是否在微信浏览器中打开
- 应用Strong Name保存.NET应用程序集
- boost.asio openssl zlib protobuf icu vs2015编译
- Selenium处理Select控件
- JDK粗体绘制效果为何如此之差
- 获取B站SESSDATA及解决403
- 云计算 概念 是什么
- 常用数字电路模块:计数器与分频电路(一)
- C++编译错误总结及其英文翻译————墨白
- python开发板卡驱动开发_树莓派开发板如何驱动LED灯
- 机载激光雷达测量技术理论与方法读书笔记(3)机载激光雷达测量数据的滤波分类
- 红米4鸿蒙系统刷机包,小米红米(移动版)刷机包 基于官方4.2.1 极简稳定纯净 完整root权限 V4.0...
- Javascript——尺寸和定位(操作指南)
- 关于LK详细解析介绍
- 一道蚂蚁金服简单的上机笔试题
- 函数使用:调和平均数
热门文章
- 【转载】用平常语言介绍神经网络
- JAVA的sleep
- QString 的使用技巧
- 大数据之-Hadoop3.x_MapReduce_序列化案例FlowDriver---大数据之hadoop3.x工作笔记0100
- 如何把MySql数据库中的数据导入到MyCat集群中_---Linux运维工作笔记050
- ASP.Net学习笔记011--ASP.Net揭秘之div版本自增
- eclipse 编码设置之BOM丢失
- php多少内置函数,php有多少个内置函数
- mysql 为什么不能安装_下载的mysql怎么无法安装
- 随想录(大学给了我们什么)