私はnodejsプロジェクトにログインするためにwinstonを使用しています。私は接続されたmongo dbにエラーレベルのログを保存しています。以下は私の設定です -winstonはログ中にmongo dbのエラーレベルで2つのドキュメントを書きます
logger = new (winston.Logger)({
transports : [
new(winston.transports.MongoDB)({
name : 'admin_log_error',
db : mongodbConfig.developmentUrl,
collection : 'admin_log',
expireAfterSeconds : oneWeekInSeconds,
level : 'error'
}),
new(winston.transports.MongoDB)({
name : 'admin_log_warn',
db : mongodbConfig.developmentUrl,
collection : 'admin_log',
expireAfterSeconds : oneWeekInSeconds,
level : 'warn'
}),
new(winston.transports.MongoDB)({
name : 'admin_log_debug',
db : mongodbConfig.developmentUrl,
collection : 'admin_log',
expireAfterSeconds : oneWeekInSeconds,
level : 'debug'
})
]
});
これは私の使い方です。
logger.log('error',message,metadata);
しかし、エラーレベルログがあるときはいつでも、コレクションadmin_logでmongo dbをチェックインすると、2つの重複したドキュメントがあります。警告やデバッグレベルでそのようなことはありません。どのように私はこれを解決することができます誰も同様の問題に直面している。
これで、OPが_two_文書を見ている理由を説明できますか? –
この答えを書く前にOPのコードを試しました。私は 'MongoDB'の代わりに' Console'にトランスポートを切り替えて、3つのログを生成することができました。さらに、問題はログレベルの概念を理解しているようです。私はこの知識を持っていると確信していますが、OPはエラーを修正することができます。 –