如何获取server.log文件中的日志条目以在jsf页面上打印出来

问题描述 投票:0回答:2

我正在使用jboss 7,我有一个带有db层的服务器应用程序,一个业务层和一个带有一些jsf页面的web层。在我的应用程序中,我在不同的层上使用记录器“org.slf4j.Logger”将一些警告和错误记录到日志文件中。

我的问题是如何在我的server.log文件中获取日志条目以在jsf页面上打印出来?

我不想直接读取... jboss-as-7.1.1.Final/standalone/log上的文件,因为我的应用程序可能在不同的平台上运行...

java jsf logging jboss
2个回答
1
投票

而是登录数据库并从那里提供内容。不再依赖于特定目录(尽管您需要一个数据库)。


0
投票

不是最漂亮的解决方案,但对我来说有用的还包括一些调试:

String pathToJSF = FacesContext.getCurrentInstance().getExternalContext().getRealPath("/");
System.out.println("Real Path is: " + pathToJSF);
String fileSeparator = File.separator;
System.out.println("JBoss log directory is: " + pathToJSF.substring(0, pathToJSF.indexOf("standalone" + fileSeparator) + ("standalone" + fileSeparator).length()) + "log" + fileSeparator);
String jbossLogFile = pathToJSF.substring(0, pathToJSF.indexOf("standalone" + fileSeparator) + ("standalone" + fileSeparator).length()) + "log" + fileSeparator + "server.log";

这适用于具有以下调试输出的Windows:

Real Path is: C:\jboss-eap-7.1.0_non_community\jboss-eap-7.1\standalone\deployments\My.ear\My.war
JBoss log directory is: C:\jboss-eap-7.1.0_non_community\jboss-eap-7.1\standalone\log\

另外值得注意的是,这只适用于JBoss EAP 6或更高版本,因为我指定/寻找以前JBoss版本中不存在的“独立”。这样做可能不太好,但我确实需要获取服务器日志文件并使其可用并包含在可下载的zip文件中

现在阅读文件并在JSF页面中显示它我留给你,因为我很确定你知道如何做到这一点!这也是在linux上测试的

© www.soinside.com 2019 - 2024. All rights reserved.