【问题标题】:Papertrail color loggingPapertrail 颜色记录
【发布时间】:2014-07-01 20:48:47
【问题描述】:

我在互联网上发现 Papertrail 让您log using ANSI colors

这对我来说很重要,因为我的 node.js 应用程序上有很多日志,添加更多颜色有助于我了解当有很多人使用该服务时发生了什么。

所以我读了一些关于ANSI escape code for colors 的内容,然后我设法在我的终端上写了这个(没问题)

printf \\x1b[31mHello\\n\\x1b[0m

不幸的是,当我在我的 node.js 应用程序上尝试同样的事情时,papertrail 中的输出不是我想要的:

我在 node.js 应用程序中的代码是这样的:

logger.debug('\x1b[31mGET /app/config\x1b[0m');

更新:由于我使用的是nlogger,也许我可以使用它的颜色功能。但是,我想听听您对此的看法:-)

【问题讨论】:

标签: javascript node.js papertrail-app


【解决方案1】:

您可能想查看color 模块

示例代码:

var colors = require('colors');

console.log('hello'.green); // outputs green text
console.log('i like cake and pies'.underline.red) // outputs red     underlined text
console.log('inverse the color'.inverse); // inverses the color
console.log('OMG Rainbows!'.rainbow); // rainbow (ignores spaces)

【讨论】:

  • 太棒了!如果我不首先使用 nlogger,您的答案将是我将实施的答案。谢谢:-)
【解决方案2】:

我猜输出是字符串文字\x1b[31m,而不是ANSI escape sequence。通常很难确定输出的是哪个。

我没有输出转义码的 Node 示例,但如果你能做到这一点,Papertrail(以及任何支持 ANSI 的终端)将呈现颜色。

【讨论】:

    【解决方案3】:

    因为我已经在使用 nlogger,所以我最终使用了以下内容:

    logger.trace("SOMETHING HERE")
    logger.info("SOMETHING HERE IN ANOTHER COLOR")
    

    【讨论】:

      【解决方案4】:

      此 node.js 代码应该适用于 Papertrail 日志着色:

      const RESET = '\u001b[0m'; 
      const BRIGHT_RED_FG = '\u001b[31;1m';
      console.log(BRIGHT_RED_FG + 'Bright red text' + RESET + ' Back to black');
      

      我注意到 Papertrail 接受 16 种颜色集:8 种深色前景色/背景色和 8 种亮色前景色/背景色,但忽略扩展的 256 色集的 ANSI 代码(在某些终端上得到很好的支持)。

      您可以在此处找到更多 ANSI 代码和选项:http://www.lihaoyi.com/post/BuildyourownCommandLinewithANSIescapecodes.html

      【讨论】:

        猜你喜欢
        • 2017-02-07
        • 2016-02-12
        • 1970-01-01
        • 1970-01-01
        • 2013-12-18
        • 1970-01-01
        • 2016-05-23
        • 1970-01-01
        相关资源
        最近更新 更多