服务器丢日志文件,请各位大神帮忙看看这段代码有没有什么问题。

snfdf 2018-03-19 09:08:57

errorInfo.setTime(new Date());

//文件名
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(new Date());
String filename = "errors_log." + date + “.txt”;

File file = new File("/data/wwwroot/error_logs/");
if (!file.exists()) {
file.mkdirs();
}

//将错误信息存入文件
try( BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename, true), "UTF-8"))) {
writer.write(errorInfo.toString());
} catch (IOException e) {
e.printStackTrace();
}
...全文
473 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
snfdf 2018-03-23
  • 打赏
  • 举报
回复
最后再顶一下看看。
maradona1984 2018-03-19
  • 打赏
  • 举报
回复
用成熟的日志组件也能生成日志 或许在某个地方存在着清空日志的代码,你该搜一下File对象中delete方法在哪些地方用到了
Vito1993 2018-03-19
  • 打赏
  • 举报
回复
为什么不直接用log4j啊
snfdf 2018-03-19
  • 打赏
  • 举报
回复
忘了说问题了,这段代码是当页面调用接口报错后会调用此接口,把错误信息以文件的形式记录在服务器上,但是现在出现了很奇怪的问题,服务器经常会丢文件,比如说原来服务器上有最近5天的错误日志文件,但是过了一天再看可能就只剩最近2天的错误日志文件了。今天上班来看了一下日志,结果发现周六周日的文件都没了,只剩下周4,5的日志文件,非常奇怪。服务器上的文件别人也动不了,代码这块目前也没看出有什么问题,还请各位大神帮忙分析一下原因,谢谢。
snfdf 2018-03-19
  • 打赏
  • 举报
回复
引用 4 楼 xiongdejun 的回复:
你看看你的方法有没有加同步锁?并发的情况下出现一些未知的情况很正常
写的时候也考虑过这个问题,不过这块代码很少会被调用。我加个同步锁试一下。 但是现在很奇怪的是,基本上每次都是缺前几天的日志,就是原来每天的日志都有,但是不知道什么原因,过了几天后,前面几天的日志就莫名消失了,并不是当天的日志没有了。
snfdf 2018-03-19
  • 打赏
  • 举报
回复
引用 3 楼 maradona1984 的回复:
用成熟的日志组件也能生成日志 或许在某个地方存在着清空日志的代码,你该搜一下File对象中delete方法在哪些地方用到了
整个代码中没有任何delete方法。
xiongdejun 2018-03-19
  • 打赏
  • 举报
回复
你看看你的方法有没有加同步锁?并发的情况下出现一些未知的情况很正常

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧