1

我在互联网上发现 Papertrail 允许您使用 ANSI 颜色进行日志记录

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

所以我读了一些关于颜色的 ANSI 转义码,我设法在我的终端上写了这个(没问题)

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

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

纸迹屏幕

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

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

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

4

4 回答 4

2

您可能想查看颜色模块

示例代码:

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)
于 2014-05-14T04:04:14.560 回答
2

我猜输出是字符串文字\x1b[31m而不是 ANSI转义序列。通常很难确定哪个正在输出。

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

于 2015-11-15T02:26:36.137 回答
1

由于我已经在使用 nlogger,因此我最终使用了以下内容:

logger.trace("SOMETHING HERE")
logger.info("SOMETHING HERE IN ANOTHER COLOR")
于 2014-05-14T19:20:46.453 回答
0

此 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

于 2019-05-19T14:49:46.633 回答