我有一个已部署到OpenShift的JEE,基于servlet的应用程序。我正在使用java.util.logging。
我希望能够在运行时更改日志记录级别。
最初,我认为我可以只更改logging.properties文件,并且更改将反映在日志中。但是我在本地计算机上尝试过,但是没有用。我需要设置一个计划任务以每10秒左右读取一次配置。然后,在本地计算机上,我可以看到日志记录级别反映了我在运行时所做的更改。
但是,将其部署到OpenShift时不起作用。我已验证计划的任务每10秒运行一次,读取配置时未报告IOException,但是更改的日志记录级别未反映在日志中。有问题的日志是
./app-root/logs/jbossews.log
./jbossews/logs/com.haxwell.apps.questions.20YY-MM-DD.log。
两者都记录了相同的信息。
令人困惑的是,有logging.properties文件的多个副本。首先,有我创建的“项目” logging.properties,还有“ OpenShift” logging.properties。作为测试,我在两个文件中都设置了各种日志级别,并进行了部署,以验证它是控制日志输出的“ Project” logging.properties文件。
但是,它是哪个“项目” logging.properties文件?考虑以下输出:[ OPENSHIFT_HOME_DIR\ ]\> md5sum 'find . -name logging.properties' | sort...926a349aa90021e91868e9b53fcae1da ./jbossews/template/.openshift/config/logging.propertiesba14a684dcddbd436b28d405a461fdb0 ./app-deployments/.../src/main/webapp/WEB-INF/classes/logging.propertiesba14a684dcddbd436b28d405a461fdb0 ./app-deployments/.../target/quizki/WEB-INF/classes/logging.propertiesba14a684dcddbd436b28d405a461fdb0 ./app-root/runtime/repo/src/main/webapp/WEB-INF/classes/logging.propertiesba14a684dcddbd436b28d405a461fdb0 ./app-root/runtime/repo/target/quizki/WEB-INF/classes/logging.propertiesba14a684dcddbd436b28d405a461fdb0 ./jbossews/work/Catalina/localhost/_/WEB-INF/classes/logging.propertiesd420b80678109ed2aa9ec47177d28d79 ./app-deployments/.../repo/.openshift/config/logging.propertiesd420b80678109ed2aa9ec47177d28d79 ./app-root/runtime/repo/.openshift/config/logging.propertiesd420b80678109ed2aa9ec47177d28d79 ./jbossews/conf/logging.properties
“项目” logging.properties文件有五个副本。
我同时对它们中的每一个进行了相同的更改,但是当计划任务执行LogManager.readConfiguration()时,它们似乎都不是读取的文件。
因此,总而言之,我有一个在Tomcat中运行的JEE应用程序。有一个计划的任务每10秒执行一次,调用java.util.logging.LogManager.readConfiguration()。我希望如果在不超过11秒后更改./WEB-INF/classes/logging.properties文件,我应该看到更改反映在记录到输出日志的内容中。
这在我的本地计算机上按预期工作。它不适用于OpenShift。
谁能告诉我如何在运行时通过OpenShift更改java.util.logging级别?
先感谢您。
最佳答案
自从我写这个问题以来已经23天了,OpenShift丝毫没有回应。没有提供任何帮助,也没有说明“您不能那样做”的注释。
因此,我自己找到了问题的答案。
答案:手动操作并获得Amazon Web Services。
关于tomcat - 在JEE/Tomcat应用程序中,使用java.util.logging部署到OpenShift,如何在运行时更改日志记录级别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23295528/