2017-11-06 15 views
0

私はデータを記録するためにbunyanを使用しました。ログに赤色のエラー、黄色のデバッグなどの適切な色を付けて印刷したかった。残念ながら、私はそれを行うためにとにかく見つけることができませんでした。そして今私はwinstonと可能なかどうかを知りたい。 winstonのログデータの色を変更することはできますか?winstonのログデータの色を変更できますか?

ここに私が実行したコードがあります。

var logger = require("winston-color"); 
    var winston = require('winston'); 
    var util = require('util'); 

    var logFilename = __dirname + '/logfile.log'; 

    var logger = new (winston.Logger)({ 
    transports: [ 
     new (winston.transports.Console)(), 
     new (winston.transports.File)({ 
     filename: 'logfile.log', 
     timestamp:true 
    }), 
     new (winston.transports.File)({ 
     name: 'error-log', 
     filename: 'error.log', 
     level: 'error' 
     }), 

    new (winston.transports.File)({ 
    name: 'info-log', 
    filename: 'info.log', 
    level: 'info' 
    }), 
    ] 
    }); 
    logger.info('Hello Winston info!'); 
    logger.debug('Hello Winston debug!'); 
    logger.warn('Hello Winston warn!'); 
    logger.info('Hello again distributed logs'); 
    logger.error('error1'); 
    logger.error('error2'); 

出力画面には、私はこれを試していないが、ここでhere

+0

ジョブを実行する[winston-color](https://www.npmjs.com/package/winston-color)パッケージがありますか? – zcui93

+0

は機能しませんでした。それは普通の白でアウトを入れていることを示しています! – srujana

+0

コードを見ると、 'logger'をデフォルトのものに戻して再定義したような気がしますか? – zcui93

答えて

0

をコードの出力を作業here

を撃ちました。しかし、これに応じてログに色を使用します。 enter link description here

+0

ご連絡ありがとうございます。私もそれを試しました。しかし、私は特定のレベルのログデータ全体が色であることが必要です。 – srujana

0

はいできます。私のプロジェクトで使用している次のコードを使用することができます。

ロガー/ WinstonPlugin.js

/* jslint node: true */ 
/* jshint esversion: 6 */ 

'use strict'; 
const Winston = require('winston'); 
const logLevel = 'debug'; 

var logger; 

(function createLogger() { 

    logger = new(Winston.Logger)({ 
     transports: [ 
      new(Winston.transports.Console)({ 
       level: logLevel, 
       colorize: true, 
       timestamp: function() { 
        return (new Date()).toLocaleTimeString(); 
       }, 
       prettyPrint: true 
      }) 
     ] 
    }); 

    Winston.addColors({ 
     error: 'red', 
     warn: 'yellow', 
     info: 'cyan', 
     debug: 'green' 
    }); 
})(); 

module.exports = logger; 

、いつでもあなたが任意のコードファイルにウィンストンを必要としていました。次のようにアクセスできます:

const Winston = require('logger/WinstonPlugin'); 
Winston.info('This is a info statement'); 
Winston.debug('This is a debug statement'); 
Winston.debug('This is a warning statement'); 
Winston.error('This is a error statement'); 

となり、コンソールに色付きの出力が表示されます。

関連する問題