在JEE / Tomcat应用程序中,使用部署到OpenShift的java.util.logging,如何在运行时更改日志记录级别?

时间:2014-04-25 14:09:04

标签: tomcat logging openshift

我有一个基于servlet的JEE应用程序,我已经部署到OpenShift。我正在使用java.util.logging。

我希望能够在运行时更改日志记录级别。

最初,我以为我可以更改logging.properties文件,更改将反映在日志中。但我在本地机器上尝试过,它没有用。我需要设置一个计划任务,每隔10秒左右读取一次配置。之后,在我的本地计算机上,我可以看到日志记录级别反映了我在运行时的更改。

但是,部署到OpenShift时不起作用。我已经验证计划任务每​​10秒运行一次,在没有报告IOExceptions的情况下读取配置,但更改的日志记录级别不会反映在日志中。有问题的日志是

  • ./ app-root / logs / jbossews.log
  • ./ jbossews /日志/ com.haxwell.apps.questions.20YY-MM-DD.log。

两者都记录了相同的信息。

为了混淆问题,logging.properties文件有几个副本。首先,我创建了“Project”logging.properties,并且有“OpenShift”logging.properties。作为测试,我在两个文件中设置了各种日志级别并进行了部署,以验证它是我的“Project”logging.properties文件控制日志输出。

但是,哪个“Project”logging.properties文件呢?请考虑以下输出:

[ OPENSHIFT_HOME_DIR\ ]\> md5sum 'find . -name logging.properties' | sort ... 926a349aa90021e91868e9b53fcae1da ./jbossews/template/.openshift/config/logging.properties ba14a684dcddbd436b28d405a461fdb0 ./app-deployments/.../src/main/webapp/WEB-INF/classes/logging.properties ba14a684dcddbd436b28d405a461fdb0 ./app-deployments/.../target/quizki/WEB-INF/classes/logging.properties ba14a684dcddbd436b28d405a461fdb0 ./app-root/runtime/repo/src/main/webapp/WEB-INF/classes/logging.properties ba14a684dcddbd436b28d405a461fdb0 ./app-root/runtime/repo/target/quizki/WEB-INF/classes/logging.properties ba14a684dcddbd436b28d405a461fdb0 ./jbossews/work/Catalina/localhost/_/WEB-INF/classes/logging.properties d420b80678109ed2aa9ec47177d28d79 ./app-deployments/.../repo/.openshift/config/logging.properties d420b80678109ed2aa9ec47177d28d79 ./app-root/runtime/repo/.openshift/config/logging.properties d420b80678109ed2aa9ec47177d28d79 ./jbossews/conf/logging.properties

“Project”logging.properties文件有五个副本。

我对它们中的每一个进行了相同的更改,但同时,当计划任务执行LogManager.readConfiguration()时,它们似乎都不是读取的文件。

总而言之,我在Tomcat中运行了一个JEE应用程序。有一个计划任务每​​10秒执行一次,调用java.util.logging.LogManager.readConfiguration()。我希望如果我更改./WEB-INF/classes/logging.properties文件,不超过11​​秒,我会看到更改反映在记录到输出日志的内容中。

这在我的本地计算机上按预期工作。它不适用于OpenShift。

有人能告诉我如何在运行时在OpenShift上更改我的java.util.logging级别吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

自从我写这个问题以来已经过去了23天,而且OpenShift没有丝毫的回应。没有一个提供帮助,而不是说“你不能那样做。”,没有。

所以,我自己发现了问题的答案。

答案:提升,获取亚马逊网络服务。