2017-10-10 4 views
0

이것은 컬러로 콘솔에 프린트되지 않습니다. 모든 것이 흰색입니다. 나는 몇 시간 동안 인터넷 검색을 해왔다. 나는 우분투 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 
관련 문제