一、该问题的重现步骤是什么?
调用BladeLogger记录通用日志,存储的日志时间和当前时间差了8个小时
系统服务(Blade-Auth、Blade-User)的日志输出时间是正常的,自己的服务的日志输出就是差了8小时
系统日志输出代码
自己服务日志输出代码
在nacos的blade.yaml中配置了时区也不起作用
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
使用的bladex2.9.1版本,windows操作系统
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
这里打断点输出一下看看这个类的createTime字段有没有值,如果没有值就说明是数据库层面的问题。再看下你连接数据库的url地址是多少,有没有单独指定时区。
还有先不用你自己封装的Util来进行日志写入,你写一个接口,注入BladeLogger。用原始的logger类进行写入数据库,再看下结果
我调试了,传的参数正确,接收参数错误
在blade-log服务,创建一个同目录的类LogAbstract(这个类在BladeX-Tool的starter-log包内),覆盖掉Tool工程的默认类,给他的注解改一下试试
刚测试了,用原始的logger类进行写入数据库也是时间不对
输出结果
覆盖的方式确实可以解决,现在时间和当前时间一样了,不过总感觉不够通用,是否有更通用的解决方式
如果是bladex原生的服务出问题,那我们是比较好排查的,主要是现在你创建的业务工程引用出的问题。我们不知道具体配置情况,所以就不好排查了。最好的办法就是走这个覆盖的操作了,这样后续其他服务都不会有问题
扫一扫访问 Blade技术社区 移动端