Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PLAY Java的日志中显示类名?_Java_Logging_Playframework 2.0 - Fatal编程技术网

如何在PLAY Java的日志中显示类名?

如何在PLAY Java的日志中显示类名?,java,logging,playframework-2.0,Java,Logging,Playframework 2.0,为什么Play不在日志中显示/输出类名 以下是我的记录器配置: 输出: 2014-05-22 15:28:39 - [info] application - Attached shutdown hook for jedis pool. 我希望它更像: 2014-05-22 15:28:39 - [info] JedisManager - Attached shutdown hook for jedis pool. 我怎样才能做到这一点 在my application.conf中: app

为什么Play不在日志中显示/输出类名

以下是我的记录器配置:

输出:

2014-05-22 15:28:39 - [info] application - Attached shutdown hook for jedis pool.
我希望它更像:

2014-05-22 15:28:39 - [info] JedisManager - Attached shutdown hook for jedis pool.
我怎样才能做到这一点

在my application.conf中:

application.secret=""
application.langs="en"

play {
  akka {
    loggers = ["akka.event.Logging$DefaultLogger", "akka.event.slf4j.Slf4jLogger"]
    loglevel = WARNING
    actor {
      default-dispatcher = {
        fork-join-executor {
          parallelism-factor = 1.0
          parallelism-max = 36
        }
      }
    }
  }
}

db-context {
    fork-join-executor {
        parallelism-min = 30
        parallelism-max = 30
    }
}

似乎未拾取记录器配置。请尝试以下操作:

  • 确保记录器配置名为
    logger.xml
    application logger.xml
    ,并放置在应用程序的
    conf/
    目录中
  • conf/application.conf

似乎未拾取记录器配置。请尝试以下操作:

  • 确保记录器配置名为
    logger.xml
    application logger.xml
    ,并放置在应用程序的
    conf/
    目录中
  • conf/application.conf

只需在一个静态类中定义预定义的方法,如

public static void error(String data, String className) {
        Logger logger = Logger.getLogger(className);
        logger.error(getClassNameAndLineNo(className)+ data); //log4j.logger

        play.Logger.error(data + getClassNameAndLineNo(className)); //play default logger
    }
当您想要显示日志时,只需像这样调用error方法

private static final String className =YourClassNameFromWhereYouAreCalling.class.getName();
className.error("msg",className);

因为该方法是静态方法,所以可以通过
ClassName.error()调用

只需在一个静态类中定义预定义的方法,如

public static void error(String data, String className) {
        Logger logger = Logger.getLogger(className);
        logger.error(getClassNameAndLineNo(className)+ data); //log4j.logger

        play.Logger.error(data + getClassNameAndLineNo(className)); //play default logger
    }
当您想要显示日志时,只需像这样调用error方法

private static final String className =YourClassNameFromWhereYouAreCalling.class.getName();
className.error("msg",className);

因为该方法是静态方法,所以可以通过
ClassName.error()调用

这应该可以。你尝试过清理/重新加载/重建你的项目吗?是的,我确保它重新加载了所有内容。通常我在调试模式下运行,每当我进行一些重大更改(即新文件/配置)时,我都会运行“play clean idea run”,这应该可以运行。你尝试过清理/重新加载/重建你的项目吗?是的,我确保它重新加载了所有内容。通常我在调试模式下运行,每当我进行一些重大更改(即新文件/配置)时,我都会运行“play clean idea run”是的,我的logger.xml位于/conf-->/conf/logger.xml下。我几乎删除了application.conf中的所有内容,除了密钥和一些小东西。将更新OP。是否正在写入日志/应用程序日志文件?我不明白为什么日志配置没有被拾取。是的,我在控制台和/log/application.log中都看到了类似的输出。。我甚至尝试了Logger.of(class_name)…尝试显式地传递记录器配置以用作JVM参数(
-Dlogger.file=conf/Logger.xml
)。您可以在linux或OS X上执行此操作,例如在运行SBT之前导出
JAVA\u TOOL\u选项
,例如
export JAVA\u TOOL\u OPTIONS=-Dlogger.file=conf/logger.xml
yep,my logger.xml位于/conf-->/conf/logger.xml下。我几乎删除了application.conf中的所有内容,除了密钥和一些小东西。将更新OP。是否正在写入日志/应用程序日志文件?我不明白为什么日志配置没有被拾取。是的,我在控制台和/log/application.log中都看到了类似的输出。。我甚至尝试了Logger.of(class_name)…尝试显式地传递记录器配置以用作JVM参数(
-Dlogger.file=conf/Logger.xml
)。您可以在linux或OS X上执行此操作,例如在运行SBT之前导出
JAVA_工具_选项
,例如
export JAVA_工具_选项=-Dlogger.file=conf/logger.xml