Node.js 如何减少在winston daily file transport中登录的大型对象上的内存使用?
我已将winston配置为使用自定义log.js文件登录两个不同的文件,以便在不同的模块中每小时轮换日志 Log.js 我使用这个日志文件在server.js中使用这个.Sample来存储来自不同文件的日志 Server.js 一小时后,从顶部显示的内存使用情况显示EC2消耗了超过3gb的ram(大部分显示为缓存),这增加了整个应用程序的延迟 如果我删除winston,我的应用程序工作正常,总内存总是在1.4到1.5 gb左右 有没有办法扭转这种局面 我的日志文件大约每小时2Gb,我使用gzip压缩文件,然后使用aws cli将其发送到s3Node.js 如何减少在winston daily file transport中登录的大型对象上的内存使用?,node.js,amazon-web-services,memory-leaks,amazon-ec2,winston,Node.js,Amazon Web Services,Memory Leaks,Amazon Ec2,Winston,我已将winston配置为使用自定义log.js文件登录两个不同的文件,以便在不同的模块中每小时轮换日志 Log.js 我使用这个日志文件在server.js中使用这个.Sample来存储来自不同文件的日志 Server.js 一小时后,从顶部显示的内存使用情况显示EC2消耗了超过3gb的ram(大部分显示为缓存),这增加了整个应用程序的延迟 如果我删除winston,我的应用程序工作正常,总内存总是在1.4到1.5 gb左右 有没有办法扭转这种局面 我的日志文件大约每小时2Gb,我使用gzip
var winston = require('winston');
// setup winston for request log
winston.loggers.add('request', {
transports: [
// Setup your shared transports here for request log
new (winston.transports.DailyRotateFile)({
name: '/var/log/nodejs/request.log',
level:'info',
filename : '/var/log/nodejs/request.log' ,
datePattern: '.yyyy-MM-dd-HH'
}),
]
});
// setup winston for response log
winston.loggers.add('response', {
transports: [
// Setup your shared transports here for bids log
new (winston.transports.DailyRotateFile)({
name:'/var/log/nodejs/response.log',
level:'info',
filename : '/var/log/nodejs/response.log' ,
datePattern: '.yyyy-MM-dd-HH'})
]
});
winston.remove(winston.transports.Console);
// to provide the each category across the module ;
module.exports.requestlog = winston.loggers.get('request');
module.exports.responselog = winston.loggers.get('response');
var requestlog = require('./log.js').requestlog;
var requestObject = {}// large json object with more that 60 key and value
request.info('request',requestObject);