【问题标题】:Showing JAVA_OPTS environment variable in log How do i configure it?在日志中显示 JAVA_OPTS 环境变量如何配置?
【发布时间】:2019-02-17 02:55:51
【问题描述】:

我已经在我的 tomcat 中配置了我的 ENV 变量,例如 export JAVA_OPTS="$JAVA_OPTS -Dpassword=password"。它显示在日志中。如何将其配置为不显示在 tomcat 日志中。

【问题讨论】:

    标签: java tomcat logging


    【解决方案1】:

    您可以通过在conf/server.xml 中评论此行来禁用VersionLoggerListener

    <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
    

    它不仅会隐藏密码,还会隐藏其他变量。请注意,启动变量应该CATALINA_OPTS,而不是JAVA_OPTS

    setenv.sh 示例:

    SAC_DISPLAY_COPYRIGHT=0
    CATALINA_OPTS="-Xms2g -Xmx2g -Djasypt.encryptor.password=mypassword"
    

    【讨论】:

    • 它不起作用,仍然显示在日志中,我注释了 VersionLoggerListener 并将启动变量更改为 CATALINA_OPTS。
    • 我在几个版本上进行了测试,通过注释此行来禁用此侦听器会抑制启动时的变量输出。我在 catalina.out 中看不到任何 org.apache.catalina.startup.VersionLoggerListener.log 行。如果您没有发现任何错误,请发布您的 setenv.sh + server.xml。
    • 我在这里发布我的文件代码,请检查 setenv.sh 文件 ------- export SAC_DISPLAY_COPYRIGHT=0 export JAVA_OPTS="$JAVA_OPTS -Djasypt.encryptor.password=mypassword" 然后在我的 server.xml 中是 中的文档
    • 我用你最后的 cmets 更新了我的答案。我试过了,这行得通。你用的是什么版本的Tomcat?
    • 您是否看到包含“org.apache.catalina.startup.VersionLoggerListener.log”的行?如果不是,这意味着评论监听器是有效的。记录日志的不再是 Tomcat 本身,而是您的应用程序(例如,配置了启动时加载的 servlet)。我帮不上忙,请检查您的应用程序代码。
    猜你喜欢
    • 2020-07-16
    • 2011-07-11
    • 2021-08-20
    • 2018-07-27
    • 2015-02-11
    • 1970-01-01
    • 2022-06-11
    • 2014-08-05
    • 2019-07-29
    相关资源
    最近更新 更多