logger.info (рд╕рдВрджреЗрд╢, "рдПрдмреАрд╕реА");
рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:
{"0": "рдП", "1": "рдмреА", "2": "рд╕реА", "рд╕реНрддрд░": "рдЬрд╛рдирдХрд╛рд░реА", "рд╕рдВрджреЗрд╢": "рд╕рдВрджреЗрд╢"}
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрдЯрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ (рд╡рд┐рд╢рд╛рд▓ рд╕рд░рдгреА) рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЦрд░рд╛рдм рджрд┐рдЦрддрд╛ рд╣реИред рд╢рд╛рдпрдж рдРрд╕рд╛ рдХреЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
{"рдореЗрдЯрд╛рдбреЗрдЯрд╛": "рдПрдмреАрд╕реА", "рд╕реНрддрд░": "рдЬрд╛рдирдХрд╛рд░реА", "рд╕рдВрджреЗрд╢": "рд╕рдВрджреЗрд╢"}
рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
рд╕рд░рд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ:
рдЖрдЙрдЯрдкреБрдЯ:
рдЬрд╛рдирдХрд╛рд░реА: рд╕рдВрджреЗрд╢ {"0":"a",,"1":"b",,"2":"c"}
рдЗрд╕реЗ [email protected]
рдореЗрдВ рдХрд╕реНрдЯрдо рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЙрдиреНрдирдпрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдпрд╣ winston
рдореЗрдВ рд╕рдорд░реНрдерд┐рдд API рдХреЙрд▓ рдирд╣реАрдВ рд╣реИ - рдЖрдк рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВред рдпрд╣рд╛рдВ рдХреБрдЫ рдорд╛рдиреНрдп API рдХреЙрд▓ рд╣реИрдВ:
// winston<strong i="7">@2</strong> API:
logger.log('info', 'Hello world', { custom: true });
logger.log('info', new Error('Yo, it\'s on fire'));
logger.log('info', '%s %d%%', 'A string', 50, { thisIsMeta: true });
// winston<strong i="8">@3</strong> API тАУ┬аa single JSON literal:
logger.log({ level: 'info', message: 'Hello world', custom: true });
logger.log({ level: 'info', message: new Error('Yo, it\'s on fire') });
logger.log({
level: 'info',
message: '%s %d%%',
splat: ['A string', 50],
meta: { thisIsMeta: true }
});
рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдЖрдЙрдЯрдкреБрдЯ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реЗ рдорд┐рд▓рддрд╛ рдЬреБрд▓рддрд╛ рд╣реЛ:
{"metadata":"abc","level":"info","message":"message"}
рдлрд┐рд░ рдпрд╣ рдХрд░реЗрдВ:
logger.info('message', { metadata: 'abc' });
... рдЗрд╕ рдЯрд┐рдХрдЯ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдмрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ winston
рдХреЗ рдХреЛрд░ рд▓реЙрдЧрд┐рдВрдЧ рдПрдкреАрдЖрдИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп arity рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
@ChrisAlderson FYI рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдХрд╕реНрдЯрдо рдкреНрд░рд╛рд░реВрдк рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдХреЗ
const info = Object.assign({}, meta, {
[LEVEL]: level,
level,
message: msg
});
рдЪреВрдВрдХрд┐ meta
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ - "abc"
рдпрд╣ рд╡рд╕реНрддреБ {"0":"a","1":"b","2":"c"}
рдЬрд╛рддреА рд╣реИ рдЬреЛ рдХрд┐ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╡рд╛рд▓реЗ info
рдХрд╛ рдЖрдзрд╛рд░ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
рд╕рд░рд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ:
рдЖрдЙрдЯрдкреБрдЯ:
рдЬрд╛рдирдХрд╛рд░реА: рд╕рдВрджреЗрд╢ {"0":"a",,"1":"b",,"2":"c"}