рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП -
рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред
рдореБрдЭреЗ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ
рдЖрдкрдиреЗ рдПрдХ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GUI рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдХреБрдЫ рд╕рдВрджреЗрд╢ рдХрд╣реАрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ - stdout / stderr, рдлрд╝рд╛рдЗрд▓реЗрдВ, syslog, рдХреБрдЫ рдЕрдзрд┐рдХ рд╡рд┐рдХреГрддред рдпрд╣ рд▓реЙрдЧрд┐рдВрдЧ (рдзрдиреНрдпрд╡рд╛рдж рдХреИрдк) рд╣реИред
рдореИрдВ рдЙрди рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдБрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рд▓реЙрдЧрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдмрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ (рдЬреИрд╕реЗ рдЯреНрд╡рд┐рдЯрд░ рдЬрд╝рд┐рдкрдХрд┐рди рдХреЛрдб рдореЗрдВ рдирдореВрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ)ред рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдЙрд╕ рд╕рдм рд╕реЗ рд╣реИ рдЬреЛ рдЕрднреА рд╣реЛ рд░рд╣рд╛ рд╣реИред
- рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдирд┐рджрд╛рдиред рдпрд╣рд╛рдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрд╡реЗрджрди рдореЗрдВ 1/0 рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рд╣реИ (рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬрдм рдРрд╕рд╛ рд╣реБрдЖ, рддреЛ рдЖрд╡реЗрджрди рдорд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ), рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рд╕рд╣реА рд╣реИ - рдЗрд╕реЗ рдкреНрд░рддрд┐рдЬреНрдЮрд╛ рдХрд░рдирд╛ред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╛рдПрдВ рд╣рд╛рде рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗред
рдХреИрд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ
рдпрд╣ рд▓реЙрдЧ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рджреЛрдиреЛрдВ рдмрд╣реБрдд рдФрд░ рдереЛрдбрд╝рд╛ред рдЕрдм рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рд╣реИ рдХрд┐ рдЖрд╡реЗрджрди рдХрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ, рдФрд░ рдЗрддрдирд╛ рдЕрдзрд┐рдХ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрд╡реЗрджрди рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣реА рд╣реИ, рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЬреЛ рдХреБрдЫ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЙрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП
рдЖрдк рдЦреБрдж рдХреЛ рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдирддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдЬреЛрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд▓реЙрдЧрд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЦрд╛рддреА рд╣реИ - рдЗрд╕рд▓рд┐рдП рджреВрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдЖрд╡реЗрджрди рджреЗрдЦрд╛, рдЬрд╣рд╛рдВ рд▓реЙрдЧрд┐рдВрдЧ рдиреЗ рд▓рдЧрднрдЧ 50% рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ (рдмреЗрд╢рдХ рдкреАрдкреАрд╕реА рдХреЛ рдЙрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред
рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ / рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИ, рдЖрджрд┐, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВред рдЗрд╕ рдХреНрд╖рдг рдореЗрдВ, рд╣рдо рд▓реЙрдЧ рдореЗрдВ рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрддреЗ рд╣реИрдВ (рд╣рд╛рдБ, рдмрд┐рд▓реНрдХреБрд▓ рд╕рдм рдХреБрдЫ) рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реБрдЖ (рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдмрд╕ рдмрд╣реБрдд рд▓рд┐рдЦрдирд╛ рд╣реИ - рд╢рд░реНрдореАрд▓реА рдордд рдмрдиреЛ)ред
рд▓реЙрдЧ рд╕реНрддрд░
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╣рд░ рд╕рдВрджреЗрд╢ рд╕рдорд╛рди рдорд╣рддреНрд╡ рдХрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП 5 рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ - рдореИрдВ рдЙрди рд╕реНрддрд░реЛрдВ рдХреЗ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВрдиреЗ slf4j рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рд╣реИ:
- рддреНрд░реБрдЯрд┐ - рдПрдХ рдЖрдкрд╛рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрд╡реЗрджрди, рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХрд╛рдлреА рдХрдо рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреБрдХреНрддред рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рд╣реА рдирд┐рдореНрди рд╕реНрддрд░ рдХреА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╛ рдЕрдирдЫреБрдП рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВ
- WARN - рдХреБрдЫ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реБрдЖ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рджреГрд╢реНрдп рд╕реЗ рднрдЯрдХрд╛, рд▓реЗрдХрд┐рди рдЖрд╡реЗрджрди рд╕реНрдорд╛рд░реНрдЯ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рдЦреБрдж рд╕реЗ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдореЗрдВ рдЗрд╕ рд╕реНрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
- рдЬрд╛рдирдХрд╛рд░реА - рдЕрдм рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ
- DEBUG - рдЕрдм рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ
- TRACE - рд╣рдо рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд╡рд╣ рд╕рдм рдЬреЛ рдмрд┐рдирд╛ рдорд┐рд▓реЗред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд▓реЙрдЧрд░ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реА рддреБрд▓рдирд╛ рд╣реЛрдЧреА рдЬреЛ рдореИрдВрдиреЗ рдиреЛрдб рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХреА рдереАред рдЬреЗрдПрд╕ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ, рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрд╣ рдкрд╣рд▓реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ, рдЗрд╕ рдЙрдореНрдореАрдж рдореЗрдВ рдХрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╣рдж рддрдХ log4j рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧрд╛ред
рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг:
var log4js = require('log4js'); var logger = log4js.getLogger(); logger.debug("Some debug messages");
рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рд░рдВрдЧреАрди рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
[2014-01-13 20:41:22.604] [DEBUG] [default] - Some debug messages
рдпрд╣ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рд╣реИред рд╕реНрддрд░ рдФрд░ рд╢реНрд░реЗрдгреА (рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдирд╛рдо), рд╕рдВрджреЗрд╢ рд╕рдордп рдФрд░ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рд╣реИред Util.format рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП, рдПрдХ рд╣реА рд╕реНрд╡рд░реВрдкрдг рд╡рд┐рдХрд▓реНрдк рдХрдВрд╕реЛрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред
рдпрд╣ рдЕрдХреНрд╕рд░ SO рдкрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
var winston = require('winston'); winston.info('Hello distributed log files!');
рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛:
info: Hello distributed log files!
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдПрдХ рдЫреЛрдЯрд╛ рдУрдкрд╕ рдерд╛ рдХрд┐ рд╡рд┐рдВрд╕реНрдЯрди рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╛ рд╕рдордп рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ,
рдХреАрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдпреЗ рд╡рд┐рдХрд▓реНрдк (рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк: рдЯреНрд░реВ рдХреЗ рд▓рд┐рдП рд╕рдЪ) рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдП рдЧрдП рдереЗ, рдЬреЛ рдмрд╣реБрдд рдЕрдЬреАрдм рд╣реИред
рдкрд┐рдЫрд▓реЗ рджреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдкрд╛рда рдХреЗ рдмрдЬрд╛рдп JSON рдмрдирд╛рддрд╛ рд╣реИред рдирд┐рд░реНрдорд╛рддрд╛ рдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд▓реЙрдЧ рдЕрднреА рднреА рдорд╢реАрди (рд▓реЙрдЧ рдХрд▓реЗрдХреНрдЯрд░реЛрдВ) рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░реНрд╕ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдлрд┐рд░ рдЗрд╕реЗ рдорд╢реАрди-рдкрдардиреАрдп рдкреНрд░рд╛рд░реВрдк рд╣реЛрдиреЗ рджреЗрдВред рдпрд╣ рдкрд╣рд▓реЗ рд▓реЙрдЧрд┐рдВрдЧ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ (рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдирдореВрдиреЗ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдХрдо рд╕реЗ рдХрдо рдмреЗрд╡рдХреВрдл рд╣реИ), рд▓реЗрдХрд┐рди рдХрд▓реЗрдХреНрдЯрд░реЛрдВ рдХрд╛ рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрд╕рдлрд▓ рдирд┐рд░реНрдгрдп рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдХреНрдпрд╛ рдЕрдЬреАрдм рдпрд╛ рдмреЗрд╣рддрд░ рд▓рдЧрд╛:
- рджреВрд╕рд░реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП JSON, рдЬреЛ рдХрд┐ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд▓реЙрдЧрд┐рдВрдЧ рдХрд╛ рд╕рдмрд╕реЗ рдЙрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рд╣реИ, рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛрдб рдореЗрдВ C ++ рдХреЛрдб рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреИрд╕реЗ рджреЗрдЦреЗрдВред рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓реЙрдЧ рдкрдврд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрд╡реЗрджрди рдЫреЛрдЯрд╛ рд╣реИ, рддреЛ рд▓реЙрдЧ рдХрд▓реЗрдХреНрдЯрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмрд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдЕрдЧрд░ рд╣рдо рдХреЛрдб рдХреЗ рд╕рдВрдЧрдарди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╣реИ рдХрд┐ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рд╣реИрдВрдбрд▓рд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ рдФрд░ рдХрд╣рд╛рдВ, рдпрд╣ рд╣реИрдВрдбрд▓рд░ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИ - рдЕрд░реНрдерд╛рддреН, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ JSON рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдХрд┐рд╕реА рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдлрд╛рд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╣реИрдВрдбрд▓рд░ рдпрд╛ рдлреЙрд░реНрдореЗрдЯрд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- рдмрдиреАрди рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ - рдХрд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХред рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдПрдХ рдмрдВрдбрд▓ рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдХреЛ рдЦрд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдХреЛрдг рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ:
рдХреНрд░рдорд╛рдВрдХрди рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рд╕рд┐рд░реНрдл JSON рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИ; рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдЕрдкрдиреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ toJSON рд╡рд┐рдзрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ рдФрд░ рдЗрд╕реЗ JSON.stringify рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ - рдпрд╣ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рд╣реИ; рдЕрдм рдЗрд╕реЗ рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рдП - рдмрд┐рд▓реНрдХреБрд▓ рд╕рднреА рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдзреНрд╡рдЬ (рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП% j) рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЬреЛрдВрд╕ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдпрд╛рдиреА рдлреАрдЪрд░ рдХрд╛рдлреА рд╣рдж рддрдХ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддреАрдд рд╣реЛ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ (рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рдЦрд░рд╛рдм рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереА - рд╕рднреА рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╣рд░реНрд╖рд┐рдд рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ), рдЕрдЧрд░ рд╡реЗ рдореБрдЭреЗ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ / рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдВрдд рд╣реИ, рдкрд░ рдЕрдкрдиреА рдирд╛рдХ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ, рдореИрдВ рдЦреБрд╢реА рдХреЗ рд╕рд╛рде рд╕реБрдиреВрдВрдЧрд╛ рдФрд░ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд▓реЙрдЧрд░ рдХреА рдкрджрд╛рдиреБрдХреНрд░рдореЛрдВ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╕рдВрдЧрдарди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд▓рдЧрд╛ред
рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд▓реЙрдЧрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдореИрдВ рднрд░ рдореЗрдВ рдЖрдпрд╛ рд╣реВрдБред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рдереАред рдореИрдВ рдЙрд╕реЗ рдХреНрдпреЛрдВ рдкрд╕рдВрдж рдЖрдпрд╛:
- рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рдЖрдк рдПрдХ рдЬрдЧрд╣ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЙрдЧрд░реНрд╕ рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рд╣реЛрддреЗ рд╣реИрдВ, рд╣реИрдВрдбрд▓рд░ рдХреЗ рдкрд╛рд╕ рдореИрд╕реЗрдЬ рдлреЙрд░реНрдореЗрдЯрд░реНрд╕, рдореИрд╕реЗрдЬ рдФрд░ рд▓реЗрд╡рд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд┐рд▓реНрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВред рд▓рдЧрднрдЧ рдПрдХ рдкрд░реА рдХрдерд╛ред
- Slf4j рдХреЗ рд╕рд╛рде рдЖрдП рд▓реЙрдЧрд░ рдХреА рдкрджрд╛рдиреБрдХреНрд░рдо, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рджреА рдЧрдИ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЗрд╡рд▓ рдЗрд╕ рдкрд░рд┐рд╡рд╛рдж рдореЗрдВ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреНрдпрд╛ рд╣реИ:
рдкреНрд░рддреНрдпреЗрдХ рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдХреЗ рдкрд╛рд╕ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╣реЛрддреЗ рд╣реИрдВ (рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рд╕рднреА рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдмрд┐рдВрджреБ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрддрд╛рдХрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕рднреА рдмрдЪреНрдЪреЗ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рд▓реЙрдЧ рдкреНрд░рд╕рд╛рд░)ред рдпрд╣реА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХрдИ рдкреИрд░реЗрдВрдЯ рд▓реЙрдЧрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдЬреИрд╕реЗ рдХрд┐ ERROR рдФрд░ WARN рд╕реНрддрд░реЛрдВ рдХреЛ рдИрдореЗрд▓ рднреЗрдЬреЗрдВ) рдФрд░ рд╕рднреА рдмрдЪреНрдЪреЗ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдореБрдЭреЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЙрдЧ рдЯреНрд░реА рдХреЛ рдореНрдпреВрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реВрдВ рдЗрд╕рдХрд╛ рдкреВрд░рд╛ рд░рд╛рд╕реНрддрд╛ред рдФрд░ рдпрд╣ рд╕рдм рдПрдХ рдЬрдЧрд╣ рдФрд░ рдПрдХ рдмрд╛рд░ рдореЗрдВред - рдорд╛рдирдХ рдХрдВрд╕реЛрд▓ рдХрд╛ рдмрд╣реБрдд рд╣реА рдЙрдЪрд┐рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдиред рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдкрдереЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдмрдиреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж (рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рджреВрд╕рд░реЛрдВ рдХреА рддрд░рд╣ рдереЛрдбрд╝рд╛ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдореИрдВрдиреЗ рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓реАрд╕реЗрдХрдВрдб, рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдкрд┐рдд рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд┐рдП, рд▓реЗрдХрд┐рди рд▓реЗрдЦрдХ рдФрд░ 4-5 рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреА рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд╛рдж рдкреБрд▓ рдЕрдиреБрд░реЛрдз, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд▓реЗрдЦрдХ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╕рдкрдиреЗ рдореЗрдВ рджреЗрдЦрд╛ рдерд╛ред
рдХреЛрдб рдореЗрдВ рдЦреБрджрд╛рдИ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд▓реЗрдЦрдХ
рдиреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ред рдореИрдВ рдРрд╕реА рдЪреАрдЬреЛрдВ рдкрд░ рдЕрдкрдиреА рд░рд╛рдп рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЦреБрдж рдкрд░ рдЫреЛрдбрд╝рддрд╛ рд╣реВрдВред
рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рд▓реАрд╡рд░ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рд╣реИрдВрдбрд▓рд░реНрд╕ рдЕрдЫреВрддреЗ рдирд╣реАрдВ рд░рд╣реЗ:
- рдореИрдВрдиреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреА рд╕рднреА рдЕрдиреБрдХреВрд▓рди рдХреЛ рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ - рдРрд╕реА рдЪреАрдЬреЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЦреБрдж рдХрд╛ рд╕рдореНрдорд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
- рдЗрдВрдЯреЗрд▓ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдкреНрд░рд╛рд░реВрдк: рдЖрдкрдХреЛ рд░рд┐рдХреЙрд░реНрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдлрд╝реАрд▓реНрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЬреИрд╕реЗ '[% (рджрд┐рдирд╛рдВрдХ) s]% (рдирд╛рдо) s ::% (рд╕рдВрджреЗрд╢) s', рд▓реЗрдХрд┐рди рдЗрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рдкреНрд░рдХрд╛рд░ рдЬреНрдЮрд╛рдд рд╣реИрдВ - рддреЛ рдХреНрдпреЛрдВ рдЙрдиреНрд╣реЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВрдиреЗ рд▓реЙрдЧрдмреИрдХ рд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рд░реВрдк рд▓рд┐рдпрд╛ред
- рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рддрд░реНрдХреЛрдВ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рдеред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реЛрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рджреМрд░рд╛рди рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрджрд┐ рдХреЛрдИ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреБрдЫ рд▓рд┐рдЦрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рд╡рд╣ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ рдЬреЛ рд╣рдо рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕реЗ use.format рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
- рдХреБрдЫ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╣рд░ рд╕рдордп рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдкреНрд░рд╛рд░реВрдк рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдмрд╛рд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ, рдЬреЛ рдХрд┐ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдирдП рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреНрд░рд╛рд░реВрдк рдПрдХ рдмрд╛рд░ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рд░ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдирд╣реАрдВред
рдЕрднреА рднреА рдХреБрдЫ рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдкреАрдЖрд░ рд╣реЛрдЧрд╛, рдФрд░ рддреБрд▓рдирд╛ рдирд╣реАрдВред
рдорддрднреЗрджреЛрдВ рдХреА рдХреБрдЫ рдЧреВрдврд╝рддрд╛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП - рдЧрддрд┐ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдорд╛рдк (
рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЛрдб , рд╕рднреА рд╕рдВрд╕реНрдХрд░рдг рдирд╡реАрдирддрдо рд╣реИрдВ)ред рдмрд╕ logger.info рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ (рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде):
$ node benchmark/logging.js console.info x 1,471,685 ops/sec ┬▒0.79% (95 runs sampled) rufus.info x 200,641 ops/sec ┬▒1.04% (84 runs sampled) winston.info x 65,567 ops/sec ┬▒0.80% (96 runs sampled) intel.info x 56,117 ops/sec ┬▒1.51% (92 runs sampled) bunyan.info x 86,970 ops/sec ┬▒1.71% (81 runs sampled) log4js.info x 45,351 ops/sec ┬▒3.25% (79 runs sampled) Fastest is console.info
рдЗрд╕ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде '[% date]% рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ ::% рд╕рдВрджреЗрд╢', рдЬреЛ рд╣рдореЗрд╢рд╛ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред рдЖрдЗрдП рдЕрдиреБрдХреВрд▓рди рдХреА рдкреВрд░реА рд╢рдХреНрддрд┐ рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмреБрджреНрдзрд┐ рдореЗрдВ рдПрдХ рдорд╛рдирдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
$ node benchmark/logging.js console.info x 1,569,375 ops/sec ┬▒0.66% (95 runs sampled) rufus.info x 199,138 ops/sec ┬▒0.81% (97 runs sampled) winston.info x 66,864 ops/sec ┬▒0.84% (91 runs sampled) intel.info x 173,483 ops/sec ┬▒5.64% (59 runs sampled) bunyan.info x 86,357 ops/sec ┬▒1.02% (94 runs sampled) log4js.info x 49,978 ops/sec ┬▒2.29% (81 runs sampled) Fastest is console.info
рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрджрд▓рд╛рд╡ред
рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ -
рдХрд╛рдВрдЯрд╛ (рдореИрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ рдЦреБрдж рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛, рдХреАрдбрд╝реЗ рдФрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ)ред
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рдирдпрд╛ рдорд┐рд▓рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреГрдкрдпрд╛ рдкреАрдПрдо рдореЗрдВред