当前位置: 首页 > news >正文

关于领导要求logback日志时间格式要求为“年-月-日 时:分:秒,毫秒”

今天接到领导邮件要求整改系统输出日志规范,有一条要求调整输出日志时间格式为标题所述格式,例:2022-02-21 14:13:32,489

项目目前logback.xml里的配置是这样:

<pattern>%d{yyyyMMdd hh:mm:ss} [%p][%c][%M][%L]-> %m%n</pattern>

于是乎,简单搜索了一下毫秒的格式秒改成这样并启动

<pattern>%d{yyyy-MM-dd hh:mm:ss,SSS} [%p][%c][%M][%L]-> %m%n</pattern>

结果让然大跌眼镜,日志输出居然没有毫秒!

然后就是各种百度没有找到好的解决方案,只到我点开了logback-core:1.2.11版本的源码,具体就不细讲了,源码中按照yyyy-MM-dd hh:mm:ss,SSS中的逗号进行了分隔,然后.get(0),然后就剩下了yyyy-MM-dd hh:mm:ss

原因找到了,现在要想解决方案,紧接着在源码中看到了如下代码,对datePattern进行了空处理和特殊场景处理:

public static final String ISO8601_PATTERN = "yyyy-MM-dd HH:mm:ss,SSS";public static final String ISO8601_STR = "ISO8601";

 最后结合常量和代码逻辑,解决方案就清晰了,大家也都能看懂这段简单的判断。

当%d{    }里面是“ISO8601”或者%d后面什么都不写的时候,日期格式默认就是2022-02-21 14:13:32,489 的

<pattern>%d [%p][%c][%M][%L]-> %m%n</pattern>

<pattern>%d{ISO8601} [%p][%c][%M][%L]-> %m%n</pattern>

http://www.lryc.cn/news/106116.html

相关文章:

  • 软件测试--一些生命周期
  • Mr. Cappuccino的第57杯咖啡——简单手写Mybatis大致原理
  • 机房环境、动力、网络、安防,帮您提高运维效率,确保机房安全
  • 大数据课程E1——Flume的概述
  • 01.Redis实现发送验证码
  • Vue中对组件的调用
  • SpringCloud Gateway获取请求响应body大小
  • 二叉树的层序遍历
  • Spring Boot 集成 Thymeleaf 模板引擎
  • 如何快速找到合适的工作?
  • Elasticsearch入门用例
  • python制作超炫流星雨表白,python好看的流星雨代码
  • iOS数字转为图片
  • mac cli文件管理器
  • 不同语言操作符的优先级
  • YOLOv5源码解读1.7-网络架构common.py
  • 关于前端框架vue2升级为vue3的相关说明
  • gdb调试时查看汇编代码
  • 小研究 - JVM GC 对 IMS HSS 延迟分析(二)
  • eNSP 路由器启动时一直显示 # 号的解决办法
  • Kotlin~Facade
  • 服务配置文件/var/lib/systemd与/etc/systemd/
  • 华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(一)
  • 【牛客网】二叉搜索树与双向链表
  • Oracle免费在线编程:Oracle APEX
  • C#+WPF上位机开发(模块化+反应式)
  • 【LeetCode 算法】Card Flipping Game 翻转卡片游戏-阅读题
  • 【leetcode】138.复制带随机指针的链表
  • svn工具使用
  • SpringBoot项目使用MyBatisX+Apifox IDEA 插件快速开发