如何在PLAY Java的日志中显示类名?
为什么Play不在日志中显示/输出类名 以下是我的记录器配置: 输出:如何在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
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