特定于应用程序的日志文件在Bluemix Liberty Buildpack中

时间:2016-04-18 12:35:24

标签: java logging ibm-cloud websphere-liberty

我目前正在评估迁移到Bluemix的应用。它目前使用log4j属性在不同的特定于应用程序的日志文件中写入不同类型的错误。 Bluemix中有哪些选项,因为我理解不支持写入文件?如果我需要类似的应用程序行为以及最小的配置/代码更改怎 示例配置:

<appender name="info-out" class="org.apache.log4j.DailyRollingFileAppender">

<param name="File" value="filelocn/apps/logs/MyAppOnline-Info.log"/>

2 个答案:

答案 0 :(得分:1)

你实际上可以写文件,但由于Cloud Foundry的性质,应该避免这种情况,正如你在Considerations for Designing and Running an Application in the Cloud看到的那样。

通常要登录Bluemix Java应用程序,您必须登录到STDOUT并让loggregator消耗日志。然后,您可以使用cf logs appName --recent检索它们。

另一种选择是使用IBM Monitoring and Analytics服务。此附加服务将收集Java应用程序写入的日志条目并将其持久保存到标准Liberty运行时日志(如messages.log或trace.log)。加载项收集并保留日志条目,并允许您以图形方式搜索和绘制结果。 Add-On将日志分析与应用程序的可用性和性能监视相结合。请参阅Monitoring and Analytics - Log Analysis tab

作为第三种选择,您可以使用第三方工具(看看here)。

不幸的是,上述选项都不允许创建不同的文件。如果你真的需要保持这种分离,你可以考虑使用log4j DB appender实现数据库日志系统。看看here一些有用的指示。

答案 1 :(得分:0)

查看日志消耗时,请确保测试输出。我们正在使用带有Kibana 4的java.util.logging,它不能很好地处理多行或堆栈跟踪(或根本不处理)。