Jboss EAP 7符号链接到欢迎内容中的日志文件不起作用
我想要一个简单的方法来查看/下载测试服务器上的日志文件(对于无法通过ssh访问服务器的外部供应商)。Jboss EAP 7符号链接到欢迎内容中的日志文件不起作用
什么,我已经尽力了{JBoss主}内做/欢迎内容的文件夹:
LN -s {JBoss主} /standalone/log/server.log的server.log
这创建日志文件的符号链接,但是当我尝试通过chrome查看日志文件时:http:// {internal ip}:8080/server.log它不起作用。
如果我做ln -P,要创建一个物理链接它可以工作,但是当日志文件翻转(即一天结束)时它仍然指向旧的日志文件而不是新的server.log,它是不可取的。
我也不想经历创建一个新的war文件和部署它只是为了显示日志文件的麻烦。
任何想法?
尽管您在评论中说过删除了日志子系统,但有几种方法可通过HTTP管理界面下载日志文件。它们确实需要日志子系统才能出现,日志文件必须位于jboss.server.log.dir
和一个已知的文件处理程序中。
,卷曲:
curl --digest -L -D - http://127.0.0.1:9990/management?useStreamAsResponse --header "Content-Type: application/json" -u admin:admin.1234 -d '{"operation":"read-attribute","address":[{"subsystem":"logging"},{"log-file":"server.log"}],"name":"stream"}' -o server.log
作为另一个注解中提到的,你也可以使用管理控制台本身。
另一种选择是使用管理API创建自己的下载功能。
try (ModelControllerClient client = ModelControllerClient.Factory.create(InetAddress.getLocalHost(), 9990)) {
final ModelNode address = Operations.createAddress("subsystem", "logging", "log-file", "server.log");
final ModelNode op = Operations.createReadResourceOperation(address);
op.get("include-runtime").set(true);
final OperationResponse response = client.executeOperation(OperationBuilder.create(op).build(), OperationMessageHandler.logging);
final ModelNode outcome = response.getResponseNode();
if (Operations.isSuccessfulOutcome(outcome)) {
final String uuid = Operations.readResult(outcome).get("stream").asString();
final InputStream in = response.getInputStream(uuid).getStream();
final byte[] buffer = new byte[64];
int len;
while ((len = in.read(buffer)) != -1) {
System.out.write(buffer, 0, len);
}
}
}
虽然同样所有这些选项都需要记录子系统使用。
我不愿意将其标记为正确,因为原始问题但我的赞成有帮助的建议。Cheers。 – Stefan
可以理解,我主要就这个问题而言,因为它只是一个关于不使用日志子系统的评论。 –
我没有解决方案,但我有一个解决方法。每次日志文件角色结束时创建物理链接,因为我们每晚都会构建,在服务器启动后,shell脚本运行ln -P命令。仍然想知道为什么符号链接不起作用欢迎 - 内容 – Stefan
在EAP 7中,您可以在管理控制台中检查日志文件,它将从服务器日志目录中显示ll日志文件。你有没有尝试过这种方法? – Abhijit
感谢您的建议。我试过了,但出现以下错误: “failure-description”=>“WFLYCTL0030:没有为地址[(\”subsystem \“=> \”logging \“)注册资源定义] 我在猜测这是由于我们删除了standalone.xml中与我们的log4j冲突的默认配置,因为它值得您的建议可能是未来其他人的有效解决方案 – Stefan