网站怎么做qq微信登陆界面设计,第三方物流网站建设,六安招聘网,做网站的傻瓜软件今天接到领导邮件要求整改系统输出日志规范#xff0c;有一条要求调整输出日志时间格式为标题所述格式#xff0c;例#xff1a;2022-02-21 14:13:32,489
项目目前logback.xml里的配置是这样#xff1a;
pattern%d{yyyyMMdd hh:mm:ss} [%p][%c][%M][%L]- %m%…今天接到领导邮件要求整改系统输出日志规范有一条要求调整输出日志时间格式为标题所述格式例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