2010-09-10 22 views
0

HIHO,java.logging到String?

我试图用java.logging

的帮助下,我想我的记录器记录的一切到一个日志文件,并为一个字符串或东西(对于HTML输出到记录错误(我的计划是一个servlet))

我还没有找到像StringHandler的东西。有没有可能做到这一点?

问候

+0

你是什么意思“串”。在记忆中? – Bozho 2010-09-10 08:27:56

+0

将其写入字符串中,最后将其返回给用户。 – Graslandpinguin 2010-09-10 08:35:17

回答

1

日志架构背后的基本原理是将您的应用程序代码与日志记录分离 - 听起来像您想要将两者重新连接在一起。您可能需要克服的最大问题是您的所有日志消息将被整合在一起,因此您将在同一个文件中看到来自不同请求的消息。

如果您希望能够向用户显示您的servlet在其请求的生命周期内记录的所有消息,则需要在您的servlet中添加一个Handler作为第一件事,然后将其移除阻止并处理其积累的消息。

我不知道有什么方法可以可靠地捕获每个请求的所有相关日志记录,因为您的servlet容器将在您可以截取它之前执行代码,但是作为那种日志记录可能会处理错误,这会阻止您向用户报告任何内容,但这可能不是问题。

由于一些其他答案的亲密,日志虽然java.util.logging是相当基本的,因此一些其他项目提供日志,Logback是最好的之一。

0

我想你可以使用普通的日志如log4j和一个StringBuilder。这应该够了吧。

+0

我建议把http://logback.qos.ch/作为log4j的后继项目 – 2010-09-10 08:27:40

+1

,并且OP已决定使用什么,所以坚持下去;) – Bozho 2010-09-10 08:29:37

0

你可以尝试创建一个名为StringAppender的自己的appender,作为WriterAppender的一个子类,用StringWriter登录。