5

我正在为 SLF4J 1.7.5 使用 SimpleLogger 绑定。根据文档,我可以在我的 simplelogger.properties 文件中使用org.slf4j.simpleLogger.logFile属性来指定日志文件或 System.out 或 System.err。

但是,我想将日志消息发送到 System.out 和日志文件。请问有谁知道如何使用 SimpleLogger 来实现这一点?(我使用的是 Windows,所以不能使用 tail -f 来跟踪控制台窗口中的日志文件;我也不想获得在 Windows 中模拟“tail -f”的第三方实用程序。)

4

1 回答 1

10

简答

你不能用 SimipleLogger 做到这一点。

更多答案

放弃 SimpleLogger 并继续做其他事情。您有以下选择:

  1. 而不是使用 slf4j-simple-1.xxjar 获取 logback(logback-classic.jar 和 logback-core.jar)。使用 logback,您可以定义两个附加程序;一个用于文件输出,一个用于控制台(也称为 System.out)输出。

  2. 而不是使用 slf4j-simple.1.xxjar get xxx(替换 slf4j 支持的任何日志系统)和 blah blah blah(与上述 1 中的相同)。

  3. SLF4j 是开源的;派生您自己的记录器(我们称之为 TeeLogger),它记录到 System.out 和一个文件。

  4. 创建一个位于 SLF4j 前面的日志记录类(在您的应用程序中)。让它接受一个 Logger 和一个消息,然后让它将消息写入 System.out 和 Logger。

  5. 我没有的东西。

这是上面 #4 的一个(超级简单的)示例:

import org.slf4j.Logger;

public class LoggyLoo
{
    public static void logZoreInfo(
        final Logger logger,
        final String message)
    {
        System.out.println(message);
        logger.info(message);
    }
}
于 2013-09-17T16:46:42.563 回答