Winston 没有为我的 Heroku MERN 应用程序编写日志,尽管它在本地运行良好
Winston is not writing logs for my Heroku MERN app although it works fine locally
我有一个 MERN 应用程序——React 前端,Express/Mongoose 后端——在本地运行良好。我将后端部署到 Heroku,将前端部署到 Surge 和 Winston 不再正常运行。
也就是说:它根本不写日志文件,尽管它在本地 (localhost) 做得很好。
Heroku 上的 Node 版本是 8.11.4,而本地 (MacOS) 是 10.8.0。 Heroku 是通过 https 调用的,而不是我的本地主机,即 运行 http。这些是我看到的唯一区别。
我尝试指定 __dirname
,尝试删除文件夹引用(即将文件放入目录 logs
,但没有任何日志文件写入任何地方。
我的记录器模块如下
const {createLogger, format, transports} = require('winston');
const {combine, timestamp, align, colorize, printf} = format;
const path = require('path')
const myFormat = printf(info => {
return `${info.timestamp} [${info.level}: ${info.message}]`;
});
const logger = createLogger({
level: 'debug',
format: combine(
colorize(),
timestamp(),
align(),
myFormat
),
transports: [
new transports.File({maxsize: 500000, filename: path.join(__dirname,'logs/error.log'), level: 'error'}),
new transports.File({maxsize: 500000, filename: path.join(__dirname,'logs/combined.log')})
]
})
module.exports = logger
同样,令人沮丧的是它在本地完美运行。感谢您帮助追踪此事!
Heroku 没有本地存储。使用邮件传输从服务器获取错误。或者您可以使用 Heroku 服务来监控您的应用程序。喜欢:Addons-Loggers
const logger = winston.createLogger({
transports: [
...
// Add following code for getting logs in console as well
new winston.transports.Console(),
]
});
我有一个 MERN 应用程序——React 前端,Express/Mongoose 后端——在本地运行良好。我将后端部署到 Heroku,将前端部署到 Surge 和 Winston 不再正常运行。 也就是说:它根本不写日志文件,尽管它在本地 (localhost) 做得很好。
Heroku 上的 Node 版本是 8.11.4,而本地 (MacOS) 是 10.8.0。 Heroku 是通过 https 调用的,而不是我的本地主机,即 运行 http。这些是我看到的唯一区别。
我尝试指定 __dirname
,尝试删除文件夹引用(即将文件放入目录 logs
,但没有任何日志文件写入任何地方。
我的记录器模块如下
const {createLogger, format, transports} = require('winston');
const {combine, timestamp, align, colorize, printf} = format;
const path = require('path')
const myFormat = printf(info => {
return `${info.timestamp} [${info.level}: ${info.message}]`;
});
const logger = createLogger({
level: 'debug',
format: combine(
colorize(),
timestamp(),
align(),
myFormat
),
transports: [
new transports.File({maxsize: 500000, filename: path.join(__dirname,'logs/error.log'), level: 'error'}),
new transports.File({maxsize: 500000, filename: path.join(__dirname,'logs/combined.log')})
]
})
module.exports = logger
同样,令人沮丧的是它在本地完美运行。感谢您帮助追踪此事!
Heroku 没有本地存储。使用邮件传输从服务器获取错误。或者您可以使用 Heroku 服务来监控您的应用程序。喜欢:Addons-Loggers
const logger = winston.createLogger({
transports: [
...
// Add following code for getting logs in console as well
new winston.transports.Console(),
]
});