【问题标题】:How to make a Logger for System.out如何为 System.out 制作记录器
【发布时间】:2012-01-26 02:49:55
【问题描述】:

我想知道如何为 System.out 获取 org.slf4j.Logger。我知道这不好,但我需要它来进行测试。

非常感谢。

【问题讨论】:

标签: java logging slf4j system.out


【解决方案1】:

可以使用 slf4j-simple 并在程序启动时通过设置系统属性将其写入标准输出:

System.setProperty("org.slf4j.simpleLogger.logFile", "System.out");

更多信息http://www.slf4j.org/api/org/slf4j/impl/SimpleLogger.html

【讨论】:

    【解决方案2】:

    将 simplelogger.properties 放入您的类路径中,并将这一行放入其中:

    org.slf4j.simpleLogger.logFile=System.out
    

    这将导致 SLF4J 简单记录器记录到标准输出而不是标准错误。

    【讨论】:

    • 另外,它不需要更简单的logger.properties,当我把它放在我的application.properties文件中时它就起作用了
    【解决方案3】:

    SLF4J 是一个日志外观。 你需要一个日志实现。

    如今,Logback 是推荐的日志框架。

    要登录到 System.out,您必须在 Logback 配置文件中使用 ConsoleAppender。

    例子:

    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
      <target>System.out</target>
      <encoder>
        <pattern>%-40.40c [%5.5thread] %-5p %X - %m%n</pattern>
      </encoder>
    </appender>
    

    【讨论】:

    • 我认为 logback(或 log4j)对于这个目的来说太过分了。 slf4j-simple 适用于这个用例。
    【解决方案4】:

    这可能会有所帮助:sysout-over-slf4j

    【讨论】:

    • 这回答了错误的问题。 OP 询问如何将 slf4j 消息写入 System.out。 sysout-over-slf4j 将写入 System.out 的消息发送到 slf4j 框架。这是2个不同的东西。正确答案是 Jean-Philippe Briend
    猜你喜欢
    • 1970-01-01
    • 2019-08-06
    • 2021-10-31
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多