【问题标题】:Java logger better formattingJava logger 更好的格式化
【发布时间】:2020-01-08 08:10:05
【问题描述】:

鉴于以下主要内容:

public static void main(String[] args) {
    System.out.println("System.out.println");
    Logger.getGlobal().setLevel(Level.INFO);
    Logger.getGlobal().log(Level.INFO, "Logger.INFO");
}

我得到以下输出:

是否有办法让 Logger 获得更好的输出?我更喜欢单行输出和连贯的颜色突出显示(SEVERE=red,INFO=green,...基本上就像 Android 的 logcat)。

谢谢

【问题讨论】:

  • Logger的类型是什么?
  • Logger 是一个 java util 类(java.util.logging.Logger)。

标签: java logging logcat


【解决方案1】:

我用的是eclipse插件grepConsole

使用简单的正则表达式,您可以更改整行的(前景|背景)颜色,或者只为每组行使用不同的颜色。

【讨论】:

  • 其实这就是我要找的,谢谢 StephaneM!
【解决方案2】:

java 系统只实现了两个输出流,System.err 和 System.out 流。后者始终为黑色,而前者的输出在大多数 IDE 中始终显示为红色。因此,基本上,您无法轻松设置此输出的颜色。

为了更改颜色...我想您必须在终端/Windows 控制台中运行它并使用文本中编码的(本机)颜色代码,或者您可以创建一个非常Eclipse 的新插件(或者可能搜索其他现有的?)以不同的方式呈现您的输出。我至少很确定没有简单的解决方案。

【讨论】:

    【解决方案3】:

    您不会在日志文件中获得颜色,因为它是纯文本。 日志查看器(如@Cqnqrd 所述)可以添加颜色。

    看看slf4j 和/或logback。两者似乎都比你的技术好。

    示例代码:

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class Blam
    {
        private static final Logger = LoggerFactory.getLogger(Blam.class);
    
        public void hooty()
        {
             logger.info("some {}", "example");
             logger.info("logging {} with {} parameters",
                 "statements",
                 2);
        }
    }
    

    输出:

    some example
    logging statements with 2 parameters
    

    {} 的值是替换参数的工作只有在 info 时才会发生 (在此示例中)启用级别日志记录。

    【讨论】:

      【解决方案4】:
      public class LogHandler extends ConsoleHandler {
      
          public LogHandler() {
              setOutputStream(System.out);
          }
      
      }
      
      LogHandler handler = new LogHandler();
      handler.setFormatter(new LogFormatter());
      
      Logger logger = Logger.getAnonymousLogger();
      logger.setUseParentHandlers(false);
      logger.addHandler(handler);
      
      LogRecord record = new LogRecord(Level.INFO, "This is just a test");
      logger.log(record);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-01
        • 1970-01-01
        • 2015-01-23
        • 1970-01-01
        相关资源
        最近更新 更多