Tag: winston

使用winston中的自定义格式化程序logging错误

我在winston中添加了一个自定义的格式化程序。 代码如下所示: 'use strict'; const winston = require('winston'); winston.transports.DailyRotateFile = require('winston-daily-rotate-file'); var timeStampFormat = "YYYY-MM-DDTHH:mm:ss.SSSZ"; var moment = require('moment'); function logTemplate(level, meta, message){ return "{" + "\"timestamp\" : \"" + moment().format(timeStampFormat) + "\" ," + "\"level\" : \"" + level + "\"," + meta + "\"content\" :" + message + "}"; } function formatter(args) { […]

winston-mongodb错误初始化后

我试图configuration一个基本的Winstonlogging器,但不断得到相同的错误。 到目前为止,我所有的configuration都是这样的 var winston = require('winston'); var mongoLog = require('winston-mongodb').MongoDB; var appSettings = require('./appSettings'); var logger = new (winston.Logger)(); logger.add(mongoLog, { db: appSettings.database, host: appSettings.dbConnection, collection: appSettings.loggingCollection } ); 这是我得到的错误。 winston-mongodb: error initialising logger Error: invalid schema, expected mongodb 主机是azure色的mongodb实例的ip,但这似乎不是问题,因为如果我删除主机(根据文档默认为localhost),并尝试连接到我本地的mongo实例,它给同样的错误。 如果我在logging器上调用任何方法,这似乎也不重要。

winston不在任何日志级别进行日志logging。 什么可能是错的?

我跑到一个奇怪的错误,不知道如何进行/debugging。 我有一个应用程序写在nodejs和使用Winston的日志logging。 一切正常,直到我昨天提出了一个新的生产服务器,并退休旧的。 我的prod服务器有4个nodejs进程正在运行。 在新的生产服务器上,winston会根据.js文件logging第一个日志消息。 期。 它在那之后停止logging。 更改日志级别不起作用。 我的应用程序已经得到了大约6个.js文件,并且在这些文件中包含任何错误,第一个错误信息被logging下来,但是没有logging任何后续的错误/警告/信息。 有趣的是Winston在旧的prod服务器上工作得很好,而dev服务器仍然正常工作。 我在开发和产品winston 0.6.2上。 据我所知,所有的sw软件包在dev和prod之间是一样的。 我不知道如何debugging这个问题。 任何帮助深表感谢。 –su

在Winston的纯文件日志logging

我只想logging数据,而不是日志级别,时间戳记等文件。 var logger = new (winston.Logger)({ transports: [ new (winston.transports.File)({ filename: '/tmp/data.log', json : false, timestamp : function() { return ''; } }) ] }); logger.log('info', "a") 它从行中删除时间戳,但日志级别仍然出现。 目前,文件包含“info:a”。 我希望它只logging“一个”。 有没有可能在winston中指定输出格式?

如何限制winston日志文件到一个特定的数字

我正在考虑使用Winston的日志旋转function。 有什么办法来限制日志文件的数量。 例如,如果我每天轮换文件,有没有办法指定我只想保留最近三天的日志?

温斯顿logger.info不是一个函数

我已经build立了Winston的传输到MySQL和控制台,并把它放在一个名为logger的模块。 像这样… // modules/logger.js /* require statements */ exports.logger = new (winston.Logger)({ transports: [ new winstonMysql(winstonMysqlConfig), new (winston.transports.Console) ] }); 然后在/modules // modules/index.js /* grab other modules */ exports.logger = require('./logger.js'); 当我做console.log(modules.logger) ,我得到这个 { logger: EventEmitter { … error: [Function], warn: [Function], info: [Function], verbose: [Function], debug: [Function], silly: [Function], … } } 但是当我调用modules.logger.info()它会引发modules.logger.info is […]

winston + PM2logginguncaughtException两次

我为我的NodeJS应用程序使用winston ,以具有结构化日志logging格式(JSON),稍后我将通过Filebeat处理并发送到Logstash。 正如PM2和12factor.net所build议的,我使用winston.transports.Console传输进行日志logging,并让PM2处理我的winston.transports.Console的stdout和stderr 。 在我的logger.js模块中,我有以下几点: "use strict"; const winston = require("winston"); // Remove logging on console winston.remove(winston.transports.Console); // env const env = process.env.NODE_ENV || 'development'; const isDev = env === "development"; // The default Console transport const defaultLogLevel = isDev ? "debug" : "info"; const consoleTransport = new winston.transports.Console({ level: defaultLogLevel, colorize: true, json: true, […]

用Winstonjslogging器logging节点给TypeError

我刚刚开始与节点,我现在想要添加一些日志到我的应用程序,为此Winstonjs似乎是一个完美的契合。 所以我第一次安装它: npm install winston 然后我复制自述文件中的第一个示例代码(并在之前添加了require): "use strict"; let winston = require('winston'); const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [ // // – Write to all logs with level `info` and below to `combined.log` // – Write all logs error (and below) to `error.log`. // new winston.transports.File({ filename: 'error.log', level: 'error' }), new […]

在温斯顿有没有相当于log.IsDebugEnabled?

在温斯顿有没有相当于log.IsDebugEnabled ? 我想用这个在生产环境中跳过昂贵的日志代码,但是在开发中执行它。 例如: if(winston.isDebugEnabled){ // Call to expensive dump routine here dump(); } 检查winston.debug只是检查方法是否已定义,而不检查是否已启用。 非常感谢! 编辑:添加代码示例。

winston.js info方法不传递元数据

当我通过winston传递元数据时,快捷方式winston.info方法不会传递元数据。 var winston = require('winston'); winston.info("winston with metadata", {cluster: "bar"}); winston.log("info", "winston with metadata", {cluster: "baz"}); OUTPUT: info: winston with metadata info: winston with metadata cluster=baz 我希望这两个调用打印出元数据? 通过winston代码挖掘,它看起来像dynamic生成每个级别的快捷function('信息','debugging','错误'),并尝试处理额外的元数据参数: // // ### function setLevels (target, past, current) // #### @target {Object} Object on which to set levels. // #### @past {Object} Previous levels set on target. […]