如何登录SailsJS

15

如何在SailsJS中实际记录日志的语法是什么?

文档中没有任何内容,但在该网站的路线图中找到了以下行:

"将Sails.log(winston包装器)作为单独的模块提取出来,以便由waterline使用"

我想应该是这样的:

Sails.log(...)
Sails.error(...)
Sails.warn(...)
2个回答

28

在您的控制器、模型、服务以及任何其他可以使用 sails 全局变量的地方,您可以使用以下之一进行日志记录:

sails.log();
sails.log.warn();
sails.log.info();
sails.log.debug();
sails.log.error();
sails.log.verbose();
sails.log.silly();

日志级别(即输出到控制台的日志级别)在 /config/log.js 中设置。


还要记得设置日志级别,或使用命令行参数(如--verbose)。 - Diego Pamio
有没有办法获取日志的行号? - nicky

4
为了扩展Scott的回答,不要忘记在log.js文件中添加filePath:属性...否则它将无法工作 :)
所以它应该是这样的:
log: {
level: 'info',
maxSize: 1000,
filePath: 'c://serverlogs/mylogfilename.log'

根据Joseph的问题,答案已经改变。


日志文件创建在哪个位置?我尝试了filePath: '~/name.log'; filePath: 'name.log'。但是文件没有被创建,尽管我可以在控制台看到日志消息。我正在使用0.10.0-rc5版本。 - jjude
2
@Joseph 请看一下之前的回答,我已经更新了。希望有所帮助。 - Amiga500
即使指定了文件路径,我的没有被创建。我的 sails 版本是0.10.0-rc7。 - A-letubby
我找到了解决方案。filePath仅适用于0.10以下版本。对于>0.9,请参见https://dev59.com/FILba4cB1Zd3GeqPc1E6。 - A-letubby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接