如何为System.out制作Logger

时间:2011-12-22 13:06:05

标签: java logging slf4j system.out

我想知道如何为System.out获取org.slf4j.Logger。我知道这不好,但我需要它用于测试目的。

非常感谢你。

5 个答案:

答案 0 :(得分:13)

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

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

http://www.slf4j.org/api/org/slf4j/impl/SimpleLogger.html

的更多信息

答案 1 :(得分:5)

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>

答案 2 :(得分:5)

将simplelogger.properties放在类路径中并将此行放入其中:

org.slf4j.simpleLogger.logFile=System.out

这将导致SLF4J Simple Logger记录到标准输出而不是标准错误。

答案 3 :(得分:4)

考虑slf4j-simple,但它会记录到stderr而不是stdout。这是最低限度的实施。可浏览的源代码:http://grepcode.com/file/repo1.maven.org/maven2/org.slf4j/slf4j-simple/1.6.1/org/slf4j/impl/SimpleLogger.java?av=f

答案 4 :(得分:1)

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