gpt4 book ai didi

java - Openshift tomcat 的日志 : catalina. out 和 localhost.out 内容

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:25:07 33 4
gpt4 key购买 nike

我已经在 openshift tomcat7 cartridge 下部署了我的 WAR 应用程序。

在我的应用程序中,我使用 log4j。我的 log4j.properties 看起来像:

log4j.rootCategory=info, A1, A2
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=myapp.log
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %p (%t) [%c] - %m%n
log4j.appender.A1.encoding=UTF-8
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d %p (%t) [%c] - %m%n
log4j.appender.A2.encoding=UTF-8

问题是在我的 openshift 应用程序的 $OPENSHIFT_LOG_DIR 文件夹中只有两个日志文件:

[myapp.rhcloud.com logs]\> ls
jbossews.log postgresql.log

jbossews.log 中,如果在本地 Tomcat 7 下运行应用程序,我只会看到与 catalina.out 相关的日志记录行。更具体地说,在 jbossews.log 中,我看到了一般错误信息,例如:

INFO: Deploying web application archive /var/lib/openshift/54...1d/app-root/runtime/dependencies/jbossews/webapps/myapp.war
Mar 05, 2015 12:00:02 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Mar 05, 2015 12:00:02 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/myapp] startup failed due to previous errors
Mar 05, 2015 12:00:02 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /var/lib/openshift/54...1d/app-root/runtime/dependencies/jbossews/webapps/myapp.war has
finished in 8,867 ms

但是我看不到错误的详细信息,这些错误通常打印在本地 Tomcat 7 下的 localhost.out 上。

那么,如何配置我的设备或应用程序以查看完整日志?谢谢。

UPD:这与日志级别无关,因为我错过的部分日志是错误级别。此外,如果我在本地 tomcat 下运行我的应用程序,我可以看到这些东西。

最佳答案

我们一直面临同样的问题。在我们的例子中,我们有一个 spring 应用程序,它可以将所有日志正常打印到 jbossews.log,但是如果其中一个 bean 在启动期间抛出错误,错误堆栈跟踪将不会打印到 jbosews.log 或其他任何地方。在 vanilla tomcat 上,这些堆栈跟踪可以很好地打印到 localhost.out。我们已经尝试过公认的解决方案,但由于某种原因它不起作用。

但是下面的技巧对我们有用:

.openshift/config/logging.properties 中替换为:

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

用这个:

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler,java.util.logging.ConsoleHandler

出于某种原因,通过添加 java.util.logging.ConsoleHandler 作为处理程序之一,堆栈跟踪(和其他消息)转到 localhost.out vanilla tomcat 现在转到 openshift 中的 jbossews.log

希望这对某人有帮助。

关于java - Openshift tomcat 的日志 : catalina. out 和 localhost.out 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28870634/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com