我有一个使用log4j进行日志记录的j2ee Web应用程序。我想在管理页面上有一个日志查看器。这应该允许用户在应用程序UI上查看log4j日志。有谁知道如何在java中实现,也许, - 实时滚动日志会很棒, - 否则可以说最后500行日志与手动刷新可以完成。 后者使用文件操作的问题是我不确定每次刷新多长时间,因为log4j生成新文件之前日志文件的大小可能是10 MiB。
最好的方法是什么。任何指针都会很棒..谢谢
答案 0 :(得分:0)
恕我直言,你无法管理像C这样的低级文件,这就是为什么你不能读取文件中的最后一行X而不读取整个文件。
但是Log4j可以将日志发送到数据库(JDBCAppender),并且可以从数据库中轻松管理日志。
答案 1 :(得分:0)
你可以这样做,你必须看看以下结构。
,确保你的appender发送到一个可公开访问的文件夹。
在您的视图应用程序中,每次刷新(页面上的一个refesh按钮),转到服务器,读取文件,将内容喷出到您的页面。
更好的是,读取请求应该在JMS实现的后面,因此它可以在后台读取而不会阻止前面的查看请求。 IE,如果文件非常大,则不会阻止对servlet的请求。完成读取后,您可以搜索字符串的出现以截断文件内容(可能是输出日期和时间戳)。这将是记忆密集型的,但它已经完成了很多次。
答案 2 :(得分:0)
您可以提供rest api / url来访问服务器日志。人们很容易调试/书签/刷新。