一、问题描述
前段时间webmethod应用所在物理机磁盘满了,于是清理其日志。但是有个通过Log4j2记录的日志文件在执行cat /dev/null | tee *.log
后大小又瞬间恢复到原来尺寸。当时感觉应该应该是使用Appender导致的,但时苦于没有找到log4j2.xml配置也就搁置了。
前段时间webmethod应用所在物理机磁盘满了,于是清理其日志。但是有个通过Log4j2记录的日志文件在执行cat /dev/null | tee *.log
后大小又瞬间恢复到原来尺寸。当时感觉应该应该是使用Appender导致的,但时苦于没有找到log4j2.xml配置也就搁置了。
今日在测试环境帮研发定位问题时,查看日志,发现异常信息丢失,如下:
1 | 2021-12-16 14:05:27[ http-nio-8082-exec-10:519172801 ] - [WARN ] com.xxx.xxx.XxxFilter-doFilter:107 - 解析Tenant出错, 错误信息:Request processing failed; nested exception is java.lang.NullPointerException |
1 | ServiceLoader<MySpiInterface> load = ServiceLoader.load(MySpiInterface.class); |
1)可选,为方便起见先创建一个JAVA_HOME的软连接
ln -s /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home jdk8
2)启动hsdb
最近研发反映线上EDI的日志有丢失现象,经过审查代码发现,本机使用的BlockingQueue方法有误,使用的BlockingQueue#add
方法,此时当队列满时会插入失败,返回false。
System.currentTimeMillis()与GMT
1 | public final class System { |
byte order mark
, 字节序标记)?bom可认为是unicode编码格式的一个标识。bom的字符为\uFEFF
,不同编码格式下会encoding为不同的字节序,如下图: