【问题标题】:Enabling logs in Spring boot cloud foundry application在 Spring Boot Cloud Foundry 应用程序中启用日志
【发布时间】:2017-11-22 23:36:40
【问题描述】:

如何在我的应用程序中启用 Spring 框架日志。 ?我在我的应用程序中使用了 logback.xml 并将根级别设置为调试。当我尝试在本地运行应用程序时,会打印日志,但是当我在 CF 中部署应用程序时不会发生同样的情况。 由于其他原因,应用程序本身正在崩溃,但我希望应该发生一些初始 Spring Boot 框架日志记录。

下面是我的 logback.xml 文件。我不确定那里提到的控制台附加程序是否也可以在 CF 系统中工作。`

 <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
            </Pattern>
        </layout>
    </appender> 

<root level="TRACE">
<appender-ref ref="STDOUT" />
    </root>
</configuration>

最好的问候,

苏拉夫

【问题讨论】:

  • 仅供参考,您不需要 logback.xml 来使用 Spring Boot 配置日志级别。删除该文件并将logging.level.&lt;package&gt; 添加到您的application.properties 文件中。例如:logging.level.org.springframework=DEBUG 会将所有 Spring 的日志级别设置为 DEBUG。有关详细信息,请参阅文档:docs.spring.io/spring-boot/docs/current/reference/html/…

标签: spring spring-boot cloud-foundry spring-cloud spring-cloud-connectors


【解决方案1】:

这可能是 Spring Boot CF 服务代理应用程序的问题,导致无法打印日志。在这里查看CF Spring boot app failed to start accepting connections

但后来我删除了应用程序并再次重新部署。它开始打印日志。以上配置有效。

【讨论】:

  • 听起来您的 CF 平台可能有问题。只是一个疯狂的猜测,但这可能是您的应用程序正在运行的 Cell 的问题,因此当您删除该应用程序时,再次推送它,它会落在一个新的 Cell 上,您会得到日志。如果再次发生这种情况,我的建议是首先从运行应用程序的单元中提取日志并在那里开始调查。
【解决方案2】:

上面的 Logback 配置文件应该可以工作。注意:TRACE 级别的日志记录会产生大量的日志消息。最好将其调低为INFO。您需要将此配置文件捆绑在 Spring Boot 应用程序结构中的 src\main\resources\logback.xml 中。

应用程序通过您的应用程序在 PCF must be written to stdout or stderr 中登录,您可以使用命令 cf logs 在 CLI 中查看它们。您在上面使用的 ConsoleAppender 写入标准输出,所以您应该很高兴。

【讨论】:

  • 感谢您的回复...是的,我的 xml 文件在资源文件夹下...我唯一的疑问是 ConsoleAppender 但如果您说这也很好...那我就不知所措了为什么它不起作用:)
猜你喜欢
  • 1970-01-01
  • 2017-06-27
  • 2018-09-16
  • 2018-04-08
  • 2016-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多