你好,
我正在尝试在java.logging的帮助下记录错误
我希望我的记录器将所有内容记录到一个日志文件和一个字符串或其他东西中(用于html输出(我的程序是一个servlet))。
我还没有找到像StringHandler这样的东西。有可能做到这一点吗?
问候
发布于 2010-09-10 16:56:04
日志记录工作背后的基本原理是将应用程序代码与日志记录解耦-听起来您想要将两者重新耦合在一起。您可能需要克服的最大问题是,所有日志消息都将合并在一起,因此您将在同一文件中看到来自不同请求的消息。
如果您希望能够向用户显示servlet在其请求的生存期内记录的所有消息,则需要在servlet中添加一个Handler作为第一件事,在finally块中删除它,然后处理它累积的消息。
我不知道有什么方法可以可靠地捕获每个请求的所有相关日志记录,因为您的servlet容器将在您到达可以拦截它的点之前执行代码,但由于这种类型的日志记录可能会处理错误,这将阻止您向用户报告任何内容,这可能不是问题。
正如其他一些答案所暗示的那样,通过java.util.logging进行日志记录是相当基础的,因此有许多其他提供日志记录的项目,Logback是最好的项目之一。
发布于 2010-09-10 16:24:43
我认为您可以使用常用的日志记录器,如log4j和StringBuilder。这应该能起到作用。
发布于 2010-09-10 16:40:11
您可以尝试创建自己的附加器,名为StringAppender,作为WriterAppender的子类,并带有一个要记录到的StringWriter。
https://stackoverflow.com/questions/3683129
复制相似问题