Play framework logging设置

play的logger是基于Log4j,Play 2.0 uses logback as its logging engine.

一、配置

1. 在conf/application.conf中设置logger的级别

// Logger
// ~~~~~~~~~~~~~~~~~~~~~~~~~
// You can also configure logback (http://logback.qos.ch/), by providing a logger.xml file in the conf directory 
# Root logger: logger=ERROR # Logger used by the framework: logger.play=INFO # Logger provided to your application: logger.application=DEBUG

root logger配置影响全局,如果需要追踪某个库,如Spring,加入

logger.org.springframework=TRACE

2. 如果需要全面配置Log4j,创建conf/log4j.properties

Play默认的配置是

log4j.rootLogger=ERROR, Console
log4j.logger.play=INFO
# Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p ~ %m %n

参考值是:

log4j.rootLogger=WARN, Rolling
log4j.logger.play=INFO      
log4j.appender.Rolling=org.apache.log4j.RollingFileAppender
log4j.appender.Rolling.File=${application.path}/logs/application.log
log4j.appender.Rolling.MaxFileSize=1MB
log4j.appender.Rolling.MaxBackupIndex=100
log4j.appender.Rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.Rolling.layout.ConversionPattern=%d{ABSOLUTE} %-5p ~ %m %n

log4j.logger.play的等级必须小于或的等于 "application.log"的等级,如"application.log"的等级是INFO,那么log4j的等级必须是INFO或更低如TRACE, DEBUG。

3、 配置logback——输出有两个

  • the standard out stream
  • logs/application.log

如果要自定义logback,修改conf/logger.xml,默认的logger.xml文件内容是

<configuration>    
  <conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />  
  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
     <file>${application.home}/logs/application.log</file>
     <encoder>
       <pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
     </encoder>
   </appender>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern>
    </encoder>
  </appender>  
  <logger name="play" level="INFO" />
  <logger name="application" level="INFO" />
  <root level="ERROR">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
  </root>  
</configuration>

如手动改变logback的配置文件

-Dlogger.resource

$ start -Dlogger.resource=conf/prod-logger.xml
to be loaded from the classpath

-Dlogger.file

$ start -Dlogger.file=/opt/prod/logger.xml
to be loaded from the file system

-Dlogger.url

$ start -Dlogger.url=http://conf.mycompany.com/logger.xml
to be loaded from an URL

二、使用logger

1. java类

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public
class Orders extends Controller { private static Logger logger = LoggerFactory.getLogger(Orders.class); ......
logger.info("Found " + entRef.length + " reference(s) for " + key); }

2. 模板文件中

@{play.Logger.info("tasks=" + tasks)}

 

 

 

参考:

  • http://www.playframework.com/documentation/2.0/SettingsLogger
  • http://www.playframework.com/documentation/1.0/logs
  • http://blog.amyboyd.co.uk/2011/05/how-to-configure-logging-in-play.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值