![](/img/trans.png)
[英]How to use Stackdriver Structured Logging in App Engine Flex Java environment
[英]Structured HTML logging in Java
基于文本的日志记录的缺点是难以阅读和理解。 有没有可以让我生成结构化且外观美观的日志文件的库?
例如,关于以下日志语句的问题:
logger.log('Request received from gateway', request)
输出可能是这样的:
<p>Request received from gateway. <a href='detail.html#163'>Details</a></p>
这样日志文件log.html
显示:
Thursday 14th March 04:8:13 - Request received from gateway.
细节
在这里,详细信息可能是带有请求对象的String dump的另一个HTML文件中的锚定超链接。
这种方法的优点是可以减少冗长程度。 与其立即将所有详细信息转储到屏幕上,不如仅查看概述。 如果需要,以及何时需要查看,细节将显示在弹出窗口中。
如何在Java中创建更具可读性的结构化日志?
我没有找到任何适合我需要的东西。 因此,我创建了一个名为log4j-weblayout
的小型开源库 。
log4j中有一个org.apache.log4j.HTMLLayout
,但我认为它没有用。 它所做的只是将您的语句转储到HTML表中。 尽管这比文本转储更好,但它没有利用HTML功能,例如字体颜色和弹出窗口。
有关介绍和用法的信息,请访问项目网站 。
功能列表(会随着添加的更多内容而更新):
Sat Jul 23 2005 02:16:57 150ms
。 这增加了详细程度。 如果您打印较短的表格(例如02:16:57
则会丢失重要的细节。 Weblayout通过打印简洁易读的表格并在鼠标悬停在弹出窗口上显示完整日期来达到最佳效果。 ConnectException
, IllegalArgumentException
和ParseException
合并为以下内容: Did not receive response from server, because The request is not valid, because Date cannot be in the past
。 logger.info(exception)
将仅记录消息,而不记录stacktrace。 如果您手动将stacktrace提取为字符串并将其传递给log4j,则它将不太可读。 log4j-weblayout将自动执行此操作,并以与IDE相同的方式漂亮地打印它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.