scala - 使用 Lift 配置日志记录

标签 scala log4j lift slf4j

电梯 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 - 使用 Lift 配置日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5029862/

相关文章:

scala - 为什么不允许在方法内部重载方法(例如重载闭包)?

scala - 如何使用 Spark 从 netcdf 文件制作 rdd?

scala - Spark-单调增加的id在数据帧中没有按预期工作?

scala - 如何在 scala/lift 中创建多个数据库连接?

scala - 如何在 Lift 中动态生成输入表单

maven-2 - 从Maven存储库获取升降机源

Scala:如何抑制未经检查的警告/正确进行 map 的模式匹配?

configuration - 如何使用Log4j2将日志输出到JTextArea

spring - JUnit测试案例中的Log4j

java - 多个war文件的log4j配置