如何在OpenShift上禁用/绕过JBoss EWS2.0日志?

时间:2014-07-26 20:38:27

标签: jboss jvm log4j openshift jvm-arguments

我可以使用git(git add,push ...)在OpenShift上部署一个战争,它可以工作。我遇到的唯一问题是我的所有日​​志都加倍(仅当我在OpenShift上部署时),而本地(使用apache tomcat 7只有log4j框架)所有日志都只记录一次。

在互联网上搜索了一天后,我找到了两种正常解决该问题的方法,即找到如何在OpenShift上禁用/绕过JBoss EWS 2.0日志记录:


在Google上找到的线索


1)将JAVA_OPT添加到启动

现在,启动应用程序服务器时,您需要添加一个JAVA_OPT。此标志将确保JBoss Log Manager不会获取您的日志记录配置,并且您自己的日志记录JAR将正常工作。

./standalone.sh -Dorg.jboss.as.logging.per-deployment=false

现在您的应用程序现在将使用打包的JAR进行日志记录,从而有效地绕过JBoss Logging。

来源:http://blog.jyore.com/?p=234

2)您的部署中看起来有一个log4j配置文件。尝试传递

-Dorg.jboss.as.logging.per-deployment=false 

禁用该配置。

- James R. Perkins

来源:https://community.jboss.org/thread/224127


我对这些线索的实施


为了实现这些解决方案,我做了两件事:

1)我创建并git推送以下钩子:

vim .openshift/action_hooks/pre_start_jbossews-2.0

echo "executing pre_start_jbossews-2.0"

# I also tried with JAVA_OPTS

export JAVA_OPTS_EXT="-Dorg.jboss.as.logging.per-deployment=false"

echo "Value is: $JAVA_OPTS_EXT"

注意:这个钩子被很好地触发了,因为在推送修改后服务器重新启动时我可以看到回声。

2)我还在catalina.properties中添加了这一行:

vim .openshift/config/catalina.properties 
-Dorg.jboss.as.logging.per-deployment=false

当时的结论:

不幸的是,这些解决方案都没有禁用/绕过JBoss EWS 2.0默认日志记录。 我目前坚持使用双日志行,所以任何帮助都会非常感激,我依靠你们。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

On Openshift设置持久环境值的正确方法是使用rhc工具:

rhc set-env JAVA_OPTS_EXT=-Dorg.jboss.as.logging.per-deployment=false -a myapp

然后尝试显式停止并启动应用程序(使用rhc stop和rhc start)。