日志打印输出到控制台以及文件
一、application.properties文件配置
#root 日志级别以WARN级别输出
logging.level.root=WARN
#springframework.web日志以DEBUG级别输出
logging.level.org.springframework.web=DEBUG
#配置控制台日志显示格式
logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
#配置文件中日志显示格式
logging.pattern.file=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
二、application-native/prod.properties文件配置
#相对路径
#logging.file.name=log/my.log
#把日志信息写入日志文件,会自动生成
logging.file.path=/logs
三、logback-spring.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false"><contextName>logback</contextName><springProperty scope="context" name="LOG_PATH" source="logging.file.path"/><!--控制台输出内容的颜色转换以及格式--><substitutionProperty name="logging.pattern.console"value="%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/><!--日志文件输出内容的格式--><substitutionProperty name="logging.pattern.file"value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/><conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/><conversionRule conversionWord="wex"converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/><conversionRule conversionWord="wEx"converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/><!-- -- 输出到控制台--><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><!--控制台使用layout节点--><layout class="ch.qos.logback.classic.PatternLayout"><pattern>${logging.pattern.console}</pattern></layout></appender><!--按天生成日志--><appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"><Prudent>true</Prudent><!--滚动策略,我配置了按天生成日志文件--><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--相对路径,生成的文件就在项目根目录下--><FileNamePattern>${LOG_PATH}/%d{yyyy-MM}/%d{yyyy-MM-dd}.log</FileNamePattern><!--注意超过365天的日志文件会被删除,即使已经按天分开也会删除--><MaxHistory>365</MaxHistory></rollingPolicy><!--日志文件里只保存ERROR及以上级别的日志--><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>DEBUG</level></filter><!--文件使用encoder节点--><encoder><Pattern>${logging.pattern.file}</Pattern></encoder></appender><!--这个logger里的配置相当于之前yml里的logging.level.com.lpc: trace--><!--additivity的作用--><!--true,则子Logger不止会在自己的appender里输出,还会在root的logger的appender里输出--><!--而这个logger里没配置appender,所以得交给root打印--><!--所以com.lpc包里的日志从TRACE级别开始--><!--其他包里的日志根据root的配置从INFO级别开始打印--><logger name="com.uama" level="INFO" additivity="true"></logger><root level="DEBUG"><appender-ref ref="console"/><appender-ref ref="file"/></root></configuration>
注意点:
- logging.file.path与logging.file.name两者生效其一
- logback-spring.xml文件中若注入application.properties中声明的值,则需要在logback-spring.xml文件中使用<springProperty>标签。
<springProperty scope="context" name="LOG_PATH" source="logging.file.path"/>
<springProperty>标签与<property>无大异,其中,name正常声明,source类似于value,不用”${}"。
日志打印输出到控制台以及文件相关推荐
- Android日志输出到控制台、文件(XLog开源日志工具)
Android日志输出到控制台.文件(XLog开源日志工具) Android项目开发中,需要将Log同时输出到控制台 与 文件,并要求将日志文件压缩并上传到远程服务端(便于分析App使用过程中用户反馈 ...
- 使用log4j将日志输送到控制台、文件或数据库中
1.log4j简述 log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),是Apache一个开源项目. Log4j是高度可配置的,并可通过在运行时的外部文件配置.它根据记录的优先级别, ...
- log日志:打印日志到控制台、文件、日志文件分区、打印错误日志到文件
springboot默认会加载classpath:logback-spring.xml文件 如果需要自定义文件名称,在application.properties中配置logging.config 选 ...
- Go标准库日志打印,以及同时输出到控制台和文件
打印 在使用go写一些小程序时,我们没必要引入额外的包,直接使用fmt标准包打印即可: import "fmt"func main() {fmt.Println("lin ...
- Python3 日志同时输出到控制台和文件
python3中想要将程序的日志打印到文件中,便于后期查看原因.但是在开发阶段又想让日志打印到控制台,这时候可以用一个类将其封装起来,用法就跟java差不多,配置也很简单. 需要用到python内置模 ...
- java如何用LOG打印日志并输出信息到文件中
使用log4j.jar.log4j 是apache 提供的记录日志的jar 档. 下载地址:http://logging.apache.org/log4j/1.2/download.html 除了这个 ...
- Go 学习笔记(54)— Go 第三方库之 uber-go/zap/lumberjack(记录日志到文件、支持自动分割日志、支持日志级别、打印调用文件、函数和行号)
1. 简要说明 zap 是 uber 开源的 Go 高性能日志库,支持不同的日志级别, 能够打印基本信息等,但不支持日志的分割,这里我们可以使用 lumberjack 也是 zap 官方推荐用于日志分 ...
- syslog打印不带等级_printk的日志级别和控制台级别
printk根据日志级别(loglevel)对消息进行分类.日志级别用宏定义,日志级别宏展开为一个字符串,在编译时由预处理器将它和消息文本拼接成一个字符串,因此printk 函数中日志级别宏和格式字符 ...
- 为何把日志打印到控制台很慢?
原文 在容器打印日志到控制台阻塞的排障的时候看到一个观点: 把日志打印到控制台要比打印到文件慢,而且是非常慢. log4j2和logback的两个issue官方也提到了这一点(见LOG4J2-2239 ...
最新文章
- JSR349(Bean Validation 1.1)
- Audition 2020安装教程
- Zw*与Nt*的区别
- LeetCode_559.N叉树的最大深度
- 『设计模式』电话接线员与中介者模式
- vue-awesome-swiper缩略图无法联动的问题
- 【HDU - 6186】CS Course(按位与,按位或,按位异或的区间统计,二进制拆位)
- 3K和3w的月薪的程序员,差别在哪里?
- 判断字符串中是否含有并一个字符或字符串
- Django——日志
- RxJava -- 从 create 开始 (一)
- vue如何设置视频封面_vue怎么制作朋友圈封面视频
- 初识STM32之选型
- C# 获取汉语拼音全码及简码
- prometheus中step或resolution的含义
- erpc Linux 本地环境的搭建和使用
- 8K慢直播时代下的茶旅发展
- c++中多重继承二义性产生以及二义性的消除方法
- qq浏览器的两种开发者工具
- vue中怎么实现吸顶效果