play的logger是基於Log4j,Play 2.0 uses logback as its logging engine.html
1、配置java
1. 在conf/application.conf中設置logger的級別spring
// 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,加入apache
logger.org.springframework=TRACE
2. 若是須要全面配置Log4j,建立conf/log4j.propertiesapi
Play默認的配置是app
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
參考值是:ide
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。url
三、 配置logback——輸出有兩個spa
logs/application.log
若是要自定義logback,修改conf/logger.xml,默認的logger.xml文件內容是
code
<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的配置文件
|
$ start -Dlogger.resource=conf/prod-logger.xml |
to be loaded from the classpath |
|
$ start -Dlogger.file=/opt/prod/logger.xml |
to be loaded from the file system |
|
$ start -Dlogger.url=http://conf.mycompany.com/logger.xml |
to be loaded from an URL |
2、使用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)}
參考: