我目前正在评估迁移到Bluemix的应用。它目前使用log4j属性在不同的特定于应用程序的日志文件中写入不同类型的错误。 Bluemix中有哪些选项,因为我理解不支持写入文件?如果我需要类似的应用程序行为以及最小的配置/代码更改怎 示例配置:
<appender name="info-out"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="filelocn/apps/logs/MyAppOnline-Info.log"/>
答案 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,它不能很好地处理多行或堆栈跟踪(或根本不处理)。