本站消息

站长简介/公众号


站长简介绍:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群.欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,java大神匠心打造,零基础java开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

XMLFormatter 中的 getTail() 方法如何工作?

发布于2022-06-19 23:49     阅读(1018)     评论(0)     点赞(23)     收藏(2)


java.util.logging.XMLFormatter 中有一个名为 getTail() 的方法,它写入物理日志文件的最后一行。它只是写

</log> 

自己在一条线上。

有谁知道如何/何时调用 getTail() ?我从来没有在我自己的代码中调用过它,而且它总是写最后一行。现在,突然,它不是。我显然已经弄坏了一些东西,但如果我能想到我做了什么或如何解决这个问题,我会很生气。我的日志文件已写入,但我无法打开它。一个看起来像锁的伴随文件可以确保这一点。(如果日志文件名为 Fuzz.log.xml,则另一个文件将称为 Fuzz.log.xml.lck,其文件大小为 0。如果我删除该文件,我可以再次编辑我的日志文件,除了它缺少最终的日志标签。)我只想让日志记录代码再次为我编写该标签,以便我可以在不删除锁定文件并手动添加磁贴的情况下打开日志。

我可以做些什么愚蠢的事情来阻止 getTail() 工作?


解决方案


通常我希望 JDK Logging Framework 负责流处理。如果您查看调用“getTail()”的位置,您会发现它是作为 StreamHandler.flushAndClose() 的一部分调用的,这主要是从 StreamHandler.close() 调用的。

因此,只要日志功能的流正确关闭,即应用程序正常终止时,就会写入尾部。如果应用程序崩溃或被杀死,它可能没有机会正确关闭文件。

查看这些东西的最佳方法可能是使用 Eclipse 并确保 JDK Source 在“Java -> Installed JREs”下的 Preferences 中可用,然后您可以使用所有 Eclipse 浏览功能来查看连接的位置。

站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群.
欢迎关注我的公众号:程序员总部,关注公众号回复java,免费领取 全套java视频教程,关注公众号回复java充值+你的账号,免费为您充值1000积分



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/457443/5f9f7e3e46c87927022a/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

23 0
收藏该文
已收藏

评论内容:(最多支持255个字符)