SpringBoot之日志记录 SLF4J(H)
来源:互联网 发布:淘宝客服kpi考核内容 编辑:程序博客网 时间:2024/05/29 11:29
在开发中打印内容,使用 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=INFOlogging.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> <timeBasedFileNamingAndTriggeringPolicy class="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> <timeBasedFileNamingAndTriggeringPolicy class="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>
麦枫中国软件用户供稿www.mfsun.com
阅读全文
0 0
- SpringBoot之日志记录 SLF4J(H)
- SpringBoot之日志记录 SLF4J(H)
- springboot实战之整合slf4j日志系统
- springboot日志文件logback+Slf4j
- log4j,slf4j (日志记录工具)
- slf4j记录日志
- slf4j框架日志记录
- blogApp编写之slf4j日志记录数据库读写耗时
- JAVA日志之SLF4J
- Spring Boot 日志记录 SLF4J
- Spring Boot 日志记录 SLF4J
- Spring Boot 日志记录 SLF4J
- Spring Boot 日志记录 SLF4J
- logback+slf4j实现日志记录
- Spring Boot 日志记录 SLF4J
- Spring Boot 日志记录 SLF4J
- SpringBoot 使用Slf4j简化日志开发
- SpringBoot 学习记录(四): slf4j+logback
- Java 8新特性(Lambda,Stream API)
- 内存大小端转换
- JAVA 使用反射获得继承类
- navicat中找回之前的执行语句
- 编程语言学习日志
- SpringBoot之日志记录 SLF4J(H)
- php搭建简单rpc(解决mongodb连接数的问题)
- CAP理论
- vSphere 5 HA 基础功能测试
- 1-LTE Network Architecture: Basic
- PyQt5系列教程(四)信号和槽
- 前端数据可视化插件(二)图谱
- jTessBoxEditor说明
- 自己动手写PHP MVC框架