未分類 17 2 月 2021 在运行期间删除日志文件, log4j 还能自动生成文件么? 在运行期间删除日志文件, log4j 还能自动生成文件么? 資深大佬 : luxinfl 6 不能重启。是不是要搞个定时任务检测文件是否存在? 另外要吐槽下测试,可靠性测试为什么会有这种测试场景?? 大佬有話說 (17) 資深大佬 : liprais 不能 資深大佬 : dorothyREN 你可以删除以后在创建一个文件 資深大佬 : sdrzlyz @dorothyREN …不管用吧?新旧文件的 fd 不一样 資深大佬 : Vegetable 程序没有检测机制的情况下,会一直向之前的 fd 写入内容。所以程序不停,删除日志文件无法释放空间,必须 truncate 才能释放空间。 这是 linux 的机制,windows…删不掉 資深大佬 : llussy cat /dev/null > filename 我清空 nginx 或 tomcat 日志时就这么搞,空间释放了,还会有新日志进去。 資深大佬 : fondD 我喜欢用 echo ” > xx.log 資深大佬 : keepeye 吐槽下测试要不要测以下 rm -rf / 看看程序是否可靠? 資深大佬 : egzosn 不可以的 資深大佬 : boris93 我记得 kill 有个信号能通知应用重新打开文件,当然最好是不要删,用 logrotate 之类的定期翻转日志,或者接入个日志管理工具比如 ELK 資深大佬 : pkookp8 我见过三家公司的日志模块每次都打开一个 fd 写入关闭不是很理解,打开文件不耗性能吗 資深大佬 : CallMeReznov 这个…日志分割不就是为了应对这种情况的嘛??? 資深大佬 : Solace202 true > xx.log 資深大佬 : chenqh 要不直接写到 stdout, 用 supervisor 或者 systemd 来切割日志? 主 資深大佬 : luxinfl @Vegetable 这意思是不是即使新建了个同名文件,也不行? linux 不是很懂。 主 資深大佬 : luxinfl @CallMeReznov 日志分割不是有固定大小设置麽,说实话不是很懂 資深大佬 : dorothyREN @sdrzlyz #3 有的程序可以,有的程序不可以 資深大佬 : msg7086 @luxinfl #14 打开的文件就一直存在的,文件被删除不影响使用。Linux 下的一些临时文件的实现,就是打开文件后马上删除,这样程序退出的时候临时文件就会自动释放了。 删除日志文件后自动重新生成这个属于新增功能,要实现的话让他们提需求去。