我在互联网上发现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,我可以使用它的颜色功能。但是,我想对此提出您的意见: - )
答案 0 :(得分:2)
您可能需要查看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)
答案 1 :(得分:2)
我猜测输出是字符串文字\x1b[31m
而不是ANSI escape sequence。通常很难确定哪一个正在输出。
我没有Node输出转义码的示例,但是如果你能做到这一点,Papertrail(以及任何支持ANSI的终端)都会呈现颜色。
答案 2 :(得分:1)
由于我已经在使用nlogger,我最终使用了以下内容:
logger.trace("SOMETHING HERE")
logger.info("SOMETHING HERE IN ANOTHER COLOR")
答案 3 :(得分: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