scala之使用 Lift 配置日志记录

jyk 阅读:10 2024-11-24 20:56:43 评论:0

电梯 wiki page关于日志记录,很多设置是自动完成的。现在我的问题是我已经有一个正在运行的后端,它有自己的日志记录配置和我的类路径中应该使用的 log4j.properties 文件。类路径中已经存在对 log4j 和 SLF4j 的依赖项。

主要问题是我得到了所有内容的完整调试输出。尤其是 Hibernate——这非常烦人。

我正在使用 Lift 2.3-M1 并尝试在 boot() 的开头执行以下操作:

Logger.setup = Full(Log4j.withFile(getClass().getResource("/props/log4j.xml"))) 

我目前使用的 log4j.xml 很快被破解在一起以简单地抑制 DEBUG 输出。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd"> 
<log4j:configuration threshold="info" xmlns:log4j="http://jakarta.apache.org/log4j/"> 
  <appender name="CA" class="org.apache.log4j.ConsoleAppender"> 
    <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="[%p] %c{2} %m%n"/> 
    </layout> 
  </appender> 
  <root> 
    <level value="info"/> 
    <appender-ref ref="CA"/> 
  </root> 
</log4j:configuration> 

当我创建一个错误的 log4j.xml 时,我也会从 SAXParser 中得到一个错误,因此必须对其进行解析。但是我仍然得到所有 DEBUG 输出。第二次尝试执行以下操作:

LiftRules.configureLogging = () => () 
Logger.setup = Full(Logback.withFile(getClass().getResource("/props/log4j.xml"))) 

因为后端已经配置好,所以我不想让 Lift 配置日志记录,所以我现在想完全关闭它。哦,我也试过 LogBoot.logSetup = () => false 但没有成功。

我将不胜感激在此问题上的任何帮助。

请您参考如下方法:

问题得到解答on the Lift mailing list .

解决方法是删除 logback 依赖项并包含 log4jslf4j-log4j。除了有效的 default.log4j.xml 之外,不需要 boot() 中的其他配置。


标签:Scala
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号