2017-10-10 6 views
0

これはコンソールにカラーで印刷されません。すべてが白です。私は何時間もグーグルで行ってきました。私はUbuntu 17を実行しています。Winstonはログインしません

// Logging with Winston 
const os = require('os') 
const fs = require('fs') 
const path = require('path') 
const config = require('../data/config/config') 
const winston = require('winston') 
const { createLogger, format, transports } = winston 
const tsFormat =() => (new Date()).toLocaleTimeString() 

const logDir = path.resolve(os.homedir(), '.test-logs') 

if (!fs.existsSync(logDir)) { 
    fs.mkdirSync(logDir) 
} 

const logger = createLogger({ 
    format: format.combine(
    format.splat(), 
    format.simple() 
), 
    transports: [ 
    new transports.Console({ timestamp: tsFormat, level: config.logLevel, colorize: true }), 
    new transports.File({ filename: path.resolve(logDir, 'info.log'), level: 'info' }), 
    new transports.File({ filename: path.resolve(logDir, 'error.log'), level: 'error' }) 
    ] 
}) 

module.exports = logger 

エラーメッセージなど何も表示されません。それはただの白です。

答えて

1

編集:自分の質問に答えた後、私はあなたが実際に自分自身輸送に書式を渡すことができます彼らのgithubページ上の会話を通して語られました。

const logger = createLogger({ 
    transports: [ 
    new transports.Console({ level: config.logLevel, format: customFormat, colorize: true, handleExceptions: true, humanReadableUnhandledException: true }), 
    new transports.File({ filename: path.resolve(logDir, 'server.log'), level: 'silly' }), 
    new transports.File({ filename: path.resolve(logDir, 'error.log'), level: 'error', handleExceptions: true }) 
    ] 
}) 

オリジナル回答

あなたはロガーをインスタンス化する際のフォーマットに色付け追加する必要があります。彼らの文書にこれの例はなかった。 logFormと呼ばれるレポへの参照は、私が行ったのとまったく同じです。代わりにハイパーリンクにする必要があります。私はPRをするかもしれない。レポはhere

この例を見つけるには、サンプルディレクトリに移動する必要がありました。

// Logging with Winston 
const os = require('os') 
const fs = require('fs') 
const path = require('path') 
const config = require('../data/config/config') 
const winston = require('winston') 
const { createLogger, format, transports } = winston 
const { combine, timestamp, label, printf, colorize } = format 
const myFormat = printf(info => { 
    return `${info.timestamp} [${info.label}] ${info.level}: ${info.message}` 
}) 

const logDir = path.resolve(os.homedir(), '.curator-server') 

if (!fs.existsSync(logDir)) { 
    fs.mkdirSync(logDir) 
} 

const logger = createLogger({ 
    format: combine(
    label({ label: 'Curator Server' }), 
    colorize(), // Here is where the color happens 
    timestamp(), 
    myFormat 
), 
    transports: [ 
    new transports.Console({ level: config.logLevel, colorize: true, handleExceptions: true, humanReadableUnhandledException: true }), 
    new transports.File({ filename: path.resolve(logDir, 'info.log'), level: 'info' }), 
    new transports.File({ filename: path.resolve(logDir, 'error.log'), level: 'error', handleExceptions: true }) 
    ] 
}) 

module.exports = logger 
関連する問題