[英]logging with info level in play framework 2.0.3 for java using play logger
我想通过在logger.xml中配置日志级别来控制日志记录。
我使用了在logger.xml中设置了级别ERROR的play.Logger,但是记录器的级别为INFO,DEBGU也被记录。
我用过ALogger log = play.Logger.of(Application.class); 在logger.xml中使用INFO级别但仅记录错误日志。
我尝试通过自定义方法进行信息和调试来创建自定义记录器类,但它没有用完。
我没有在任何论坛/社区页面中找到任何解决方案。 请指导我如何进一步。
下面是代码和logger.xml
package test
import play.mvc.Controller;
import play.mvc.Result;
import views.html.index;
public class Application extends Controller {
public static Result index() {
return ok(index.render("Rendering "));
}
public static Result ourApp() {
ALogger log = play.Logger.of(Application.class);
log.info("**** Info enabled *****");
log.debug("**** debug enabled *****");
log.error("**** error enabled *****");
if(log.isDebugEnabled())
{
log.debug("**** Debug enabled *****");
}
if(log.isInfoEnabled())
{
log.info("**** Info enabled *****");
}
if(log.isErrorEnabled())
{
log.error("**** Error enabled *****");
}
return ok();
}
public static Result getXPage(String patId) {
String xValue = TestDao.getXNotes(patId);
return ok(test.render(Value));
}
}
logger.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home}/logs/app.log</file>
<encoder>
<pattern>%date - [%level] - from %logger %n%message%n%xException%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date - [%level] - %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>
输出: -
2012-11-22 19:05:43,920 - [INFO] - from play
Application started (Dev)
2012-11-22 19:05:44,127 - [ERROR] - from test.Application
**** error enabled *****
尝试使用记录器名称而不是类名称
ALogger log = play.Logger.of("application");
这真是太好了。 还要注释文件application.conf
中提及日志级别的行
我坚持同样的问题,也没有打印我的日志的实际行号和类名,经过长时间的搜索我发现这个项目在git-hub上尝试了sl4j
logger如下,它的工作原理。
调节器
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger("controller");
Logger.xml
<logger name="controller" level="DEBUG" />
最后在application.conf
注释掉了所有日志级别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.