heroku使用Log4J进行部署

时间:2013-04-09 13:34:54

标签: java logging heroku

是否可以在启用Log4J的情况下将基于Java的应用程序部署到Heroku?根据他们的docs

  

写入标准输出(stdout)或标准错误(stderr)的任何内容   被捕获到您的日志中。这意味着您可以从任何地方登录   在您的应用程序代码中使用简单的输出语句。

     

在Ruby中,你可以使用类似的东西:

puts "Hello, logs!"
     

在Java中:

System.err.println("Hello, logs!"); 
System.out.println("Hello, logs!");

1 个答案:

答案 0 :(得分:2)

这实际上取决于您想要做什么样的日志记录(或者您尝试使用哪种日志记录)。请注意,由于Heroku' ephemeral filesystemfile appender将无用。我假设附加到stdout,也会因为你给出的原因输出到你的Heroku日志。

这是一个名为Airbrake的附加组件上的Heroku doc,它充当Log4J的附加器: https://devcenter.heroku.com/articles/airbrake#java

编辑:我已经测试了登录到stdout,它确实登录到Heroku日志。

我的log4j.properties,如果您有兴趣(非常标准):

log4j.rootLogger= error, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p @ %l > %m%n