2

ログレベルやタイムスタンプなどではなく、データだけをファイルに記録したい。

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」が含まれています。「a」だけをログに記録したい。winstonで出力形式を指定することはできますか?

4

2 に答える 2

2

残念ながら、そのフォーマットは winston にハードコードされているようなものです。そのロジックは、ほとんどのデフォルト トランスポートで使用されるのlog関数で確認できます。common.js

これを回避する方法は、に依存しない独自のカスタム トランスポートを作成することcommon.log()です。

余談ですがtimestamp: false、デフォルトのトランスポートでタイムスタンプのロギングを無効にするオプションを提供できます。

于 2014-06-04T20:35:38.553 に答える