winston
рд╕рдВрд╕реНрдХрд░рдг?_winston@2
winston@3
node -v
рдЖрдЙрдЯрдкреБрдЯ: v10.1.0рдЬрдм рдореИрдВ рдмрд┐рд▓реНрдЯ рдЗрди рдХрдВрд╕реЛрд▓ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЪрд▓рдиреЗ рдкрд░ рдХрдВрд╕реЛрд▓ рдХреЛ рд▓рд┐рдЦреЗрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП node ./dist/index.js
) рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рд╕реЗ рдбреАрдмрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдбреАрдмрдЧ рдХрдВрд╕реЛрд▓ рдкрд░ рдирд╣реАрдВред рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ()/рдЪреЗрддрд╛рд╡рдиреА ()/рддреНрд░реБрдЯрд┐ () рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдХреЙрд▓ рдбрд┐рдмрдЧ рдХрдВрд╕реЛрд▓ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рднреА рд╕рдВрджреЗрд╢ рдбрд┐рдмрдЧ рдХрдВрд╕реЛрд▓ рдкрд░ рд▓рд┐рдЦреЗ рдЬрд╛рдПрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЪрд▓рдиреЗ рдкрд░ рдорд╛рдирдХ рдХрдВрд╕реЛрд▓ рдкрд░ рд╣реЛрдВрдЧреЗред
рд╕рдорд╕реНрдпрд╛ рдкрд░рд┐рд╡рд╣рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд▓реЙрдЧ () рд╡рд┐рдзрд┐ рдореЗрдВ _stderr.write() рдФрд░ _stdout.write() рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред рдЕрдЧрд░ рдореИрдВ 49, 62 рдФрд░ 77 рдкрд░ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рд╢рд░реНрдд рдХреЛ false
рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдорд╛рдирдХ рдХрдВрд╕реЛрд▓ред . рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЕрд╡рд╛рдВрдЫрдиреАрдп рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдпрд╣ рд╣реИ рдХрд┐ рдХрд╕реНрдЯрдо рдИрдУрдПрд▓ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдмрдирд╛рдо рдХреЛрдб рдмрдЧ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ - рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдЙрдирдХреЗ рдбреАрдмрдЧ рдХрдВрд╕реЛрд▓ рдореЗрдВ _stdout
рдЬреИрд╕реЗ рдкреНрд░реЛрдк рдХреНрдпреЛрдВ рд╣реИрдВ? рдмреЗрд╢рдХ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдХрд╛рдордХрд╛рдЬ рдХреА рддрд░рд╣ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рдкрд░рд┐рд╡рд╣рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдмрдирд╛рдо рдХреЛрдб рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рдВрд╕реНрдЯрди рдореЗрдВ рддрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд╛рд░ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВ :) рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡рд┐рдВрд╕реНрдЯрди рдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдмрдирд╛рдо рдХреЛрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрдирд╛рдо рдХреЛрдб рдХреЗ рдХрдВрд╕реЛрд▓ рдХреЛ рдмреЗрд╣рддрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
@sirockin рдХреНрдпрд╛ рдЖрдк рдПрдХ рдмрдирд╛рдо рдХреЛрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рдкрд░ vsode рдореЗрдВ рдЖрдпрд╛ рдерд╛ред рд╡реИрд╕реЗ рднреА, рдЖрдк рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ
рд╣рдореЗрдВ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЬрд╛рдВрдЪ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдореИрдВ рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдФрд░ рдЕрдкрдирд╛ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛: рдмрд╕ console.log
, console.warn
рдФрд░ console.error
рдЕрднреА, рд╡рд┐рдВрд╕реНрдЯрди [console._stderr] рдФрд░ [console._stdout] рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╕реАрдзреЗ рдЙрди рд╕реНрдЯреНрд░реАрдо рдХреЛ рд▓рд┐рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди console.warn
, console.error
рдФрд░ console.log
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖ рд░рд╣рд╛ рд╣реИ _stderr
рдФрд░ _stdout
) рдиреЛрдб.рдЬреЗрдПрд╕ рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдХрдВрд╕реЛрд▓ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдиреНрд╣реЗрдВ [рдХрдВрд╕реЛрд▓] рдПрдкреАрдЖрдИ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рди рд╣реА рд╡реЗ рдЧрдгрдирд╛ рдпреЛрдЧреНрдп рд╣реИрдВ ред
рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рд╕реАрдзреЗ рд╡рд┐рдВрд╕реНрдЯрди рдореЗрдВ рдзрд╛рд░рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдлрд╛рдпрджрд╛ рд╣реИ? рдореЗрд░реЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрджрд░реНрдн рдореЗрдВ console
рдХрд╛ рдЕрд░реНрде рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ console
рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ, рди рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ "рдХрдВрд╕реЛрд▓" рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВред рдХреНрдпрд╛ рддрд░реАрдХреЗ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ? рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рд╡рд┐рдВрд╕реНрдЯрди рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд stream
рдкрд░рд┐рд╡рд╣рди рд╣реИ, рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд "рдХрдВрд╕реЛрд▓" рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реВрдВрдЧрд╛ред
рд╡реАрдПрд╕ рдХреЛрдб _have_ рдХрд░рддрд╛ рд╣реИ (рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рдиреЛрдб рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдбрд┐рдмрдЧ рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ "рдХреИрдкреНрдЪрд░" "рдХрдВрд╕реЛрд▓" рд╣реИ - рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ console.log
рдХреЙрд▓ рдкрд░ рд╣реБрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рд╣реИрдВ , рд╕реНрд╡рдпрдВ рдзрд╛рд░рд╛рдУрдВ рдкрд░ рдирд╣реАрдВред рдпрд╛рдиреА рд╡реАрдПрд╕ рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреИрдкреНрдЪрд░ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ
рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреНрдп рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЖрдк рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдЖрдЙрдЯрдкреБрдЯ рд╡реАрдПрд╕ рдХреЛрдб рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рд╡рд┐рдВрд╕реНрдЯрди рдореЗрдВ "рдХрдВрд╕реЛрд▓" рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХреНрдпрд╛ рдмрджрд▓рддрд╛ рд╣реИред
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/index.js",
// Capture "std" instead of "console"
"outputCapture": "std"
}
]
}
рдзреНрдпрд╛рди рджреЗрдВ, рдпрджрд┐ рдЖрдк @adi7ya рд╕реЗ рд▓рд┐рдВрдХ рдХреА рдЧрдИ рд╕рд▓рд╛рд╣ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ VS рдХреЛрдб рдЙрд╕ рд▓рд╛рдЗрди рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ console.log
рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЬреЛ рд╡рд╣ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ рд╡рд┐рдВрд╕реНрдЯрди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдУрд╡рд░рд░рд╛рдЗрдб log
рдореЗрдВ рд▓рд╛рдЗрдиред рддреЛ, рдпрд╣ рдХреЗрд╡рд▓ рдорд╛рдореВрд▓реА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ...
рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдбрд┐рдлреЙрд▓реНрдЯ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрд╕реЛрд▓ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдмрдирд╛рдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реАрдПрд╕ рдХреЛрдб рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░рдирд╛: https://github.com/Microsoft/vscode/issues/69959 рдЕрдиреНрдпрдерд╛, рдЖрд╡рд╢реНрдпрдХ рдмрдирд╛рдо рд╕реЗрдЯрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд╣рд╛рдВ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред ^^ рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдВрд╕реЛрд▓ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╡реИрдз рдкреНрд░рд╢реНрди рд╣реИ, рдпрджрд┐ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдВрдкрд╛рджрдХреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ "рд╕рд╣реА" рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рддреЛ рд╢рд╛рдпрдж рд╣рдореЗрдВ рдХрдВрд╕реЛрд▓ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ cc @indexzero рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рднреА рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рд╕рд╛, @victorandree рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛ рд╕рдХрд╛ред
рдореИрдВ рдЗрд╕ рд╕рдордп рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдмрд╣реБрдд рд╣реА рдирдВрдЧреЗ рдкрд░рд┐рд╡рд╣рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд▓рдЧрддрд╛ рд╣реИ:
import winston from "winston";
import Transport from "winston-transport";
const { MESSAGE } = require("triple-beam");
const level = process.env.LOG_LEVEL || "info";
class SimpleConsoleTransport extends Transport {
log = (info: any, callback: any) => {
setImmediate(() => this.emit("logged", info));
console.log(info[MESSAGE]);
if (callback) {
callback();
}
};
}
export const logger = winston.createLogger({
level,
defaultMeta: {},
transports: [new SimpleConsoleTransport()]
});
рдХреГрдкрдпрд╛ рдЗрд╕реЗ #1836 . рдореЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ
рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднреА рднрд╛рдЧ рдЧрдпрд╛, рдФрд░ рдпрд╣ VSCode- рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ - рдпрджрд┐ рдореИрдВ node --inspect
рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдХреНрд░реЛрдо рд╕реЗ chrome://inspect
рд╕рд╛рде рд╕рдВрд▓рдЧреНрди рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдХреЗрд╡рд▓ console.log/etc
рдХреЙрд▓ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдФрд░ рдЕрдкрдирд╛ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛: рдмрд╕
console.log
,console.warn
рдФрд░console.error
рдЕрднреА, рд╡рд┐рдВрд╕реНрдЯрди [console._stderr] рдФрд░ [console._stdout] рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╕реАрдзреЗ рдЙрди рд╕реНрдЯреНрд░реАрдо рдХреЛ рд▓рд┐рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди
console.warn
,console.error
рдФрд░console.log
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖ рд░рд╣рд╛ рд╣реИ_stderr
рдФрд░_stdout
) рдиреЛрдб.рдЬреЗрдПрд╕ рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдХрдВрд╕реЛрд▓ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдиреНрд╣реЗрдВ [рдХрдВрд╕реЛрд▓] рдПрдкреАрдЖрдИ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рди рд╣реА рд╡реЗ рдЧрдгрдирд╛ рдпреЛрдЧреНрдп рд╣реИрдВ редрд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рд╕реАрдзреЗ рд╡рд┐рдВрд╕реНрдЯрди рдореЗрдВ рдзрд╛рд░рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдлрд╛рдпрджрд╛ рд╣реИ? рдореЗрд░реЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрджрд░реНрдн рдореЗрдВ
console
рдХрд╛ рдЕрд░реНрде рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗconsole
рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ, рди рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ "рдХрдВрд╕реЛрд▓" рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВред рдХреНрдпрд╛ рддрд░реАрдХреЗ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ? рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рд╡рд┐рдВрд╕реНрдЯрди рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рддstream
рдкрд░рд┐рд╡рд╣рди рд╣реИ, рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд "рдХрдВрд╕реЛрд▓" рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реВрдВрдЧрд╛редрд╡реАрдПрд╕ рдХреЛрдб _have_ рдХрд░рддрд╛ рд╣реИ (рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рдиреЛрдб рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдбрд┐рдмрдЧ рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ "рдХреИрдкреНрдЪрд░" "рдХрдВрд╕реЛрд▓" рд╣реИ - рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ
console.log
рдХреЙрд▓ рдкрд░ рд╣реБрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рд╣реИрдВ , рд╕реНрд╡рдпрдВ рдзрд╛рд░рд╛рдУрдВ рдкрд░ рдирд╣реАрдВред рдпрд╛рдиреА рд╡реАрдПрд╕ рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреИрдкреНрдЪрд░ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреНрдп рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЖрдк рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдЖрдЙрдЯрдкреБрдЯ рд╡реАрдПрд╕ рдХреЛрдб рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рд╡рд┐рдВрд╕реНрдЯрди рдореЗрдВ "рдХрдВрд╕реЛрд▓" рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХреНрдпрд╛ рдмрджрд▓рддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ, рдпрджрд┐ рдЖрдк @adi7ya рд╕реЗ рд▓рд┐рдВрдХ рдХреА рдЧрдИ рд╕рд▓рд╛рд╣ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ VS рдХреЛрдб рдЙрд╕ рд▓рд╛рдЗрди рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ
console.log
рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЬреЛ рд╡рд╣ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ рд╡рд┐рдВрд╕реНрдЯрди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдУрд╡рд░рд░рд╛рдЗрдбlog
рдореЗрдВ рд▓рд╛рдЗрдиред рддреЛ, рдпрд╣ рдХреЗрд╡рд▓ рдорд╛рдореВрд▓реА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ...