电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Spring Boot console log 格式自定義方式

瀏覽:5日期:2023-06-29 11:42:28
Spring Boot console log 格式自定義Spring Boot 默認使用Logback

新增配置項:logging.pattern.console

logging.pattern.console=%date %level [%thread] %logger{10} [%file:%line] - %msg%nspringboot 自定義日志格式輸出application.properties配置

logging.config=classpath:logback-spring.xmllogging.path=C:/opt/logs/logback-spring.xml配置

<?xml version='1.0' encoding='UTF-8'?><!-- 日志級別從低到高分為TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果設置為WARN,則低于WARN的信息都不會輸出 --><!-- scan:當此屬性設置為true時,配置文件如果發生改變,將會被重新加載,默認值為true --><!-- scanPeriod:設置監測配置文件是否有修改的時間間隔,如果沒有給出時間單位,默認單位是毫秒。當scan為true時,此屬性生效。默認的時間間隔為1分鐘。 --><!-- debug:當此屬性設置為true時,將打印出logback內部日志信息,實時查看logback運行狀態。默認值為false。 --><configuration scan='true' scanPeriod='10 seconds'> <!--<include resource='org/springframework/boot/logging/logback/base.xml' />--> <contextName>logback</contextName> <!-- name的值是變量的名稱,value的值時變量定義的值。通過定義的值會被插入到logger上下文中。定義變量后,可以使“${}”來使用變量。 --> <property name='log.path' value='C:/opt/logs/' /> <!-- 彩色日志 --> <!-- 彩色日志依賴的渲染類 --> <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' /> <!-- 彩色日志格式 --> <property name='CONSOLE_LOG_PATTERN' value='${CONSOLE_LOG_PATTERN:-%clr(%d{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}}'/> <!--輸出到控制臺--> <appender name='CONSOLE' class='ch.qos.logback.core.ConsoleAppender'> <!--此日志appender是為開發使用,只配置最底級別,控制臺輸出的日志級別是大于或等于此級別的日志信息--> <filter class='ch.qos.logback.classic.filter.ThresholdFilter'> <level>debug</level> </filter> <encoder> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern> <!-- 設置字符集 --> <charset>UTF-8</charset> </encoder> </appender> <!--輸出到文件--> <!-- 時間滾動輸出 level為 DEBUG 日志 --> <appender name='DEBUG_FILE' class='ch.qos.logback.core.rolling.RollingFileAppender'> <!-- 正在記錄的日志文件的路徑及文件名 --> <file>${log.path}/log_debug.log</file> <!--日志文件輸出格式--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 設置字符集 --> </encoder> <!-- 日志記錄器的滾動策略,按日期,按大小記錄 --> <rollingPolicy class='ch.qos.logback.core.rolling.TimeBasedRollingPolicy'> <!-- 日志歸檔 --> <fileNamePattern>${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class='ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP'> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天數--> <maxHistory>15</maxHistory> </rollingPolicy> <!-- 此日志文件只記錄debug級別的 --> <filter class='ch.qos.logback.classic.filter.LevelFilter'> <level>debug</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 時間滾動輸出 level為 INFO 日志 --> <appender name='INFO_FILE' class='ch.qos.logback.core.rolling.RollingFileAppender'> <!-- 正在記錄的日志文件的路徑及文件名 --> <file>${log.path}/log_info.log</file> <!--日志文件輸出格式--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> </encoder> <!-- 日志記錄器的滾動策略,按日期,按大小記錄 --> <rollingPolicy class='ch.qos.logback.core.rolling.TimeBasedRollingPolicy'> <!-- 每天日志歸檔路徑以及格式 --> <fileNamePattern>${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class='ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP'> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天數--> <maxHistory>15</maxHistory> </rollingPolicy> <!-- 此日志文件只記錄info級別的 --> <filter class='ch.qos.logback.classic.filter.LevelFilter'> <level>info</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 時間滾動輸出 level為 WARN 日志 --> <appender name='WARN_FILE' class='ch.qos.logback.core.rolling.RollingFileAppender'> <!-- 正在記錄的日志文件的路徑及文件名 --> <file>${log.path}/log_warn.log</file> <!--日志文件輸出格式--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 此處設置字符集 --> </encoder> <!-- 日志記錄器的滾動策略,按日期,按大小記錄 --> <rollingPolicy class='ch.qos.logback.core.rolling.TimeBasedRollingPolicy'> <fileNamePattern>${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class='ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP'> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天數--> <maxHistory>15</maxHistory> </rollingPolicy> <!-- 此日志文件只記錄warn級別的 --> <filter class='ch.qos.logback.classic.filter.LevelFilter'> <level>warn</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 時間滾動輸出 level為 ERROR 日志 --> <appender name='ERROR_FILE' class='ch.qos.logback.core.rolling.RollingFileAppender'> <!-- 正在記錄的日志文件的路徑及文件名 --> <file>${log.path}/log_error.log</file> <!--日志文件輸出格式--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 此處設置字符集 --> </encoder> <!-- 日志記錄器的滾動策略,按日期,按大小記錄 --> <rollingPolicy class='ch.qos.logback.core.rolling.TimeBasedRollingPolicy'> <fileNamePattern>${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class='ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP'> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天數--> <maxHistory>15</maxHistory> </rollingPolicy> <!-- 此日志文件只記錄ERROR級別的 --> <filter class='ch.qos.logback.classic.filter.LevelFilter'> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- <logger>用來設置某一個包或者具體的某一個類的日志打印級別、 以及指定<appender>。<logger>僅有一個name屬性, 一個可選的level和一個可選的addtivity屬性。 name:用來指定受此logger約束的某一個包或者具體的某一個類。 level:用來設置打印級別,大小寫無關:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, 還有一個特俗值INHERITED或者同義詞NULL,代表強制執行上級的級別。 如果未設置此屬性,那么當前logger將會繼承上級的級別。 addtivity:是否向上級logger傳遞打印信息。默認是true。 --> <!--<logger name='org.springframework.web' level='info'/>--> <!--<logger name='org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor' level='INFO'/>--> <!-- 使用mybatis的時候,sql語句是debug下才會打印,而這里我們只配置了info,所以想要查看sql語句的話,有以下兩種操作: 第一種把<root level='info'>改成<root level='DEBUG'>這樣就會打印sql,不過這樣日志那邊會出現很多其他消息 第二種就是單獨給dao下目錄配置debug模式,代碼如下,這樣配置sql語句會打印,其他還是正常info級別: --> <!-- root節點是必選節點,用來指定最基礎的日志輸出級別,只有一個level屬性 level:用來設置打印級別,大小寫無關:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, 不能設置為INHERITED或者同義詞NULL。默認是DEBUG 可以包含零個或多個元素,標識這個appender將會添加到這個logger。 --> <!--開發環境:打印控制臺--> <logger name='cn.zszhan.forum' level='debug'/> <root level='info'> <appender-ref ref='CONSOLE' /> <appender-ref ref='DEBUG_FILE' /> <appender-ref ref='INFO_FILE' /> <appender-ref ref='WARN_FILE' /> <appender-ref ref='ERROR_FILE' /> </root> <!--生產環境:輸出到文件--> <!--<springProfile name='pro'>--> <!--<root level='info'>--> <!--<appender-ref ref='CONSOLE' />--> <!--<appender-ref ref='DEBUG_FILE' />--> <!--<appender-ref ref='INFO_FILE' />--> <!--<appender-ref ref='ERROR_FILE' />--> <!--<appender-ref ref='WARN_FILE' />--> <!--</root>--> <!--</springProfile>--> </configuration>

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 浙江富广阀门有限公司| 纯水设备_苏州皙全超纯水设备水处理设备生产厂家 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 台湾HIWIN上银直线模组|导轨滑块|TBI滚珠丝杆丝杠-深圳汉工 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 深圳市索富通实业有限公司-可燃气体报警器 | 可燃气体探测器 | 气体检测仪 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | BESWICK球阀,BESWICK接头,BURKERT膜片阀,美国SEL继电器-东莞市广联自动化科技有限公司 | ★塑料拖链__工程拖链__电缆拖链__钢制拖链 - 【上海闵彬】 | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 太平洋亲子网_健康育儿 品质生活 | 广东泵阀展|阀门展-广东国际泵管阀展览会 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 中原网视台| 合肥废气治理设备_安徽除尘设备_工业废气处理设备厂家-盈凯环保 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 蓝鹏测控平台 - 智慧车间系统 - 车间生产数据采集与分析系统 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | 联系我们-腾龙公司上分客服微信19116098882| 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 苏州工作服定做-工作服定制-工作服厂家网站-尺品服饰科技(苏州)有限公司 | 猪I型/II型胶原-五克隆合剂-细胞冻存培养基-北京博蕾德科技发展有限公司 | 蜂蜜瓶-玻璃瓶-玻璃瓶厂-玻璃瓶生产厂家-徐州贵邦玻璃制品有限公司 | 红酒招商加盟-葡萄酒加盟-进口红酒代理-青岛枞木酒业有限公司 | 小型气象站_便携式自动气象站_校园气象站-竞道气象设备网 | 扬尘监测_扬尘监测系统_带证扬尘监测设备 - 郑州港迪科技有限公司 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 超声波气象站_防爆气象站_空气质量监测站_负氧离子检测仪-风途物联网 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 |