如何在PlayFramework项目中使用logback

如何在PlayFramework项目中使用logback,playframework,slf4j,logback,playframework-1.x,Playframework,Slf4j,Logback,Playframework 1.x,由于依赖于一个项目,我正在使用Play开发一个web应用程序!框架,我必须配置logback,以防止它用调试消息淹没我的输出。 但由于log4j是该剧使用的默认日志库!框架,我真的不知道如何让它考虑Log.xml配置文件。 最好是上演这出戏!框架完全使用logback/Slf4j而不是log4j。我该怎么做呢?目前play1使用log4j或juli(我不确定juli是否有效,但代码存在)。有,但不幸的是,如果只有一个Logger.class,就无法正确使用logback。在本例中,将讨论%F和所

由于依赖于一个项目,我正在使用Play开发一个web应用程序!框架,我必须配置logback,以防止它用调试消息淹没我的输出。 但由于log4j是该剧使用的默认日志库!框架,我真的不知道如何让它考虑Log.xml配置文件。


最好是上演这出戏!框架完全使用logback/Slf4j而不是log4j。我该怎么做呢?

目前play1使用log4j或juli(我不确定juli是否有效,但代码存在)。有,但不幸的是,如果只有一个Logger.class,就无法正确使用logback。在本例中,将讨论%F和所有其他大写字符

更新:从Ceki获得一些信息后,我现在知道如何以干净的方式修复它。因此,可以以干净的方式实现特性请求

如果可能的话,可以让log4j写入logback。 此外,我正在考虑创建一个补丁来解决这个问题。所以我不想开始,直到这是固定的,我从核心团队得到一些信号,他们接受任何重新分解在这样一个中心类

长话短说:目前,不破解框架是不可能的。
但是我不明白你的问题。你想做什么log4j做不到的事?也许你可以用另一个问题来解释你的根本原因。

我必须同意尼尔斯文章的最后一部分。你想做什么log4j做不到的事?@Ceki:Logback做了一些改进,但我找不到必备品。再说一次:log4j可以扩展/包装为logback而不是。@niels由于logbackclassic通过SLF4J公开其API,您可能需要扩展org.SLF4J.Logger。有关扩展示例,请参见org.slf4j.ext包。这门课应该特别有帮助。另请参见同一软件包中的XLogger和XLoggerFactory。这里的关键是尽可能调用LocationAwareLogger,即当log4j、jul和logback中的一个是后端时。无论如何,我认为play.Logger类可以包装org.slf4j.Logger,如果这是您想要的。我不“想要”使用logback,我只是“不得不”,因为maven依赖于这个项目。目前,logback库自动导入到lib文件夹中,因为它是此项目中使用的日志库。这使得他自己的生活没有考虑log4j在parralel中所写的内容,导致了日志的巨大混乱。对我来说,log4j很好,但我必须处理logback:/我在这方面不是一个真正的专家,直到现在写一个log.properties文件才是我所需要的。@Claw:很抱歉,我没有解决办法。我假设play将直接在plays Logger中支持slf4j,但这只是将来的一个解决方案(如下所示)。目前,您只能尝试从logback中删除依赖项。因此,您必须学习maven魔法,以消除依赖性。