gpt4 book ai didi

javascript - NodeJS - 在 OSX 上将 Winston 登录到系统日志

转载 作者:行者123 更新时间:2023-12-05 06:37:30 24 4
gpt4 key购买 nike

几天来我一直在尝试让我的 NodeJS 应用程序登录到系统日志,但没有明显的成功:

const winston = require('winston');
require('winston-syslog').Syslog; // eslint-disable-line

const env = process.env.NODE_ENV;
let syslogConfig = {
"host": "localhost",
"port": 514,
"protocol": "unix",
"path": "/var/run/syslog"
};

const logger = new winston.Logger({
levels: winston.config.syslog.levels,
colors: winston.config.syslog.colors
});

logger.add(winston.transports.Syslog, syslogConfig);

logger.add(winston.transports.Console, {
json: false,
colorize: true,
timestamp: true
});

logger.error('Hello, world!');

module.exports = logger;

当这段代码运行时,我的终端没有出现任何错误(它编译得很好,我在我的终端输出中看到“Hello, world!”)但是我从未在我的 OSX 控制台应用程序的 syslog 下看到任何记录 过程。

另一方面,我可以在我的终端中手动运行 syslog -s -l ERROR “Hello, world.”,它会显示在控制台应用程序中。

我在这里很困惑——我正在运行 OSX Sierra (10.12.6)

最佳答案

这条消息已经过去好几年了。我终于得到了一些工作所以我想我应该分享:

const winston = require('winston')
require('winston-syslog').Syslog

// Logger creation
const logger = winston.createLogger({
levels: winston.config.syslog.levels,
})

// Console feedback
logger.add(
new winston.transports.Console({
name: 'consoleLogs'
})
)

// Sending to syslog
logger.add(
new winston.transports.Syslog({
protocol: 'unix',
path: '/var/run/syslog'
})
)

// Test message
logger.alert('Hello world!!')

我可以看到消息 /var/log/system.log

关于javascript - NodeJS - 在 OSX 上将 Winston 登录到系统日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47873193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com