μλ νμΈμ,
λ΄ λ‘κ·Έ λ©μμ§μ μ¬μ©μ μ§μ νμμ μ 곡νκΈ° μν΄ ν¬λ§·ν° κΈ°λ₯μ μ¬μ©νμ΅λλ€. Transport.Consoleμμλ μλ²½νκ² μλνμ§λ§ transport.File μκΈ°λ μ¬μ©μ μ§μ ν¬λ§·ν°λ₯Ό 무μν©λλ€.
λ΄ μ¬μ©μ μ§μ νμΌ ν¬λ§·ν°λ λ€μκ³Ό κ°μ΅λλ€.
function customFileFormatter (options) {
// Return string will be passed to logger.
return options.timestamp() +' ['+ options.level.toUpperCase() +'] '+ (undefined !== options.message ? options.message : '') +
(options.meta && Object.keys(options.meta).length ? '\n\t'+ JSON.stringify(options.meta) : '' );
}
κ·νμ μμμ μ£Όμ΄μ§ λ‘κ±°κ° νμμ μ λλ€. λλ μ΄κ²μ λ€μκ³Ό κ°μ΄ μ μ©νλ€.
winston.add(winston.transports.File, {
name: 'info-file',
filename: logPath + '/info.log',
level: 'info',
maxsize: 15000000,
formatter: customFileFormatter
});
κ·Έλ¬λ λ‘κΉ
νμΌμ μΆλ ₯μ λμΌνκ² μ μ§λ©λλ€.
{"level":"info","message":"INITIALISEING","timestamp":"2015-04-02T06:29:57.982Z"}
κ·Έκ²μν΄μΌνλ€:
{"level":"[INFO]","message":"INITIALISEING","timestamp":"2015-04-02T06:29:57.982Z"}
Transport.Consoleμμλ λμΌνκ² μλνκΈ° λλ¬Έμ 무μμ΄ μλͺ»λμλμ§ λͺ¨λ₯΄κ² μ΅λλ€.
λμμ£ΌμΈμ
μΈμ¬λ§
ν λμΌμ΄νΈ
νμΈ κ²°μ½ λ§μ.
μ€μ νλ κ²μ μμλ€
json: false
νμ§λ§ json λ‘κΉ μμ μΌλΆ νλλ§ λ³κ²½ν μ μλ€λ©΄ λ©μ§ κ²μ λλ€. :)
"json: false"λ₯Ό μ€μ ν μμΉλ₯Ό νμ νλ λ° μ½κ°μ μκ°μ΄ κ±Έλ Έμ΅λλ€. νμΌ μ μ‘μμ μ€μ νμμμ€. λ΄ μλ λ€μκ³Ό κ°μ΅λλ€.
const logFormatter = function(options) {
// Return string will be passed to logger.
return options.timestamp() +` `+ options.level.toUpperCase() +
` `+ (options.message ? options.message : ``) +
(options.meta && Object.keys(options.meta).length ?
`\n\t`+ JSON.stringify(options.meta) : `` );
};
const timestamp = function() {
const d = new Date();
return d.getHours() + `:` + d.getMinutes() + `:` +
d.getSeconds() + `m` + d.getMilliseconds();
};
const logger = new (winston.Logger)({
transports: [
new (winston.transports.File)({
timestamp: timestamp,
formatter: logFormatter,
level: `silly`,
name: `fileAll`,
filename: `fileAll.log`,
json: false, // set json:false on the file transport(s)
})
]
});
ν¬λ§·ν°λ μ μλνμ§λ§ νμμ€ν¬νλ νμ 리ν°λ΄ λ¬Έμμ΄μ μΈμν©λλ€.
κΈ°λ₯ () {
const d = μλ‘μ΄ λ μ§();
return d.getHours() + :
+ d.getMinutes() + :
+
d.getSeconds() + m
+ d.getMilliseconds();
}|DEBUG|λλ²κ·Έ λ©μμ§
κΈ°λ₯ () {
const d = μλ‘μ΄ λ μ§();
return d.getHours() + :
+ d.getMinutes() + :
+
d.getSeconds() + m
+ d.getMilliseconds();
}|λΉμ|λλ²κ·Έ λ©μμ§
νμΈ κ²°μ½ λ§μ.
μ€μ νλ κ²μ μμλ€
json: false
νμ§λ§ json λ‘κΉ μμ μΌλΆ νλλ§ λ³κ²½ν μ μλ€λ©΄ λ©μ§ κ²μ λλ€. :)
λΉμ μ λ΄ μκ°μ μ μ½! μ΄κ² μ΄λ λ¬ΈμμΈμ§ κΆκΈν©λλ€..
κ°μ₯ μ μ©ν λκΈ
νμΈ κ²°μ½ λ§μ.
μ€μ νλ κ²μ μμλ€
json: false
νμ§λ§ json λ‘κΉ μμ μΌλΆ νλλ§ λ³κ²½ν μ μλ€λ©΄ λ©μ§ κ²μ λλ€. :)