使用play logger在play framework 2.0.3 for java中记录信息级别

使用play logger在play framework 2.0.3 for java中记录信息级别,java,playframework-2.0,Java,Playframework 2.0,我想通过在logger.xml中配置日志级别来控制日志记录 我使用了play.Logger,在Logger.xml中设置了level ERROR,但是带有level INFO的Logger、DEBGU也会被记录下来 我使用了ALogger log=play.Logger.of(Application.class)在logger.xml中具有信息级别,但只记录错误日志 我还尝试通过使用自定义的info和debug方法来创建自定义的logger类,但没有成功 我没有在任何论坛/社区页面中找到任何解决

我想通过在logger.xml中配置日志级别来控制日志记录

我使用了play.Logger,在Logger.xml中设置了level ERROR,但是带有level INFO的Logger、DEBGU也会被记录下来

我使用了ALogger log=play.Logger.of(Application.class)在logger.xml中具有信息级别,但只记录错误日志

我还尝试通过使用自定义的info和debug方法来创建自定义的logger类,但没有成功

我没有在任何论坛/社区页面中找到任何解决方案。请指导我如何进一步进行

下面是代码&也是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>

尝试使用记录器名称而不是类名

ALogger log = play.Logger.of("application");

这个很好。另外,注释掉文件
application.conf

中提到日志级别的行,我坚持使用相同的问题,而且它没有打印日志的实际行号和类名,在长时间搜索后,我在git hub上找到了这一行,并尝试了下面类似的
sl4j
记录器,它可以工作

控制器

private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger("controller"); 
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>


最后注释掉了
application.conf

中的所有日志级别:play.Logger#info(java.lang.String)。问题是这不会打印你记录类的类名。打印
play.Logger$ALogger-2016-10-02 01:19:47684-abcxyz我的应用程序日志