рдирдорд╕реНрдХрд╛рд░, рдкреНрдпрд╛рд░реЗ рджреЛрд╕реНрддреЛрдВ!
рдореИрдВ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ред
рд╢рд╛рдпрдж рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╢реЛрдз рдореЗрдВ рдХреБрдЫ рдХрдореА рдХреЗ рдХрд╛рд░рдг, рд▓реЙрдЧрд┐рдВрдЧ рд╣рдореЗрд╢рд╛ рдЬрд╛рд╡рд╛ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЕрд╢рд╛рдВрддрд┐ рдХрд╛ рдПрдХ рдХреНрд╖реЗрддреНрд░ рд░рд╣рд╛ рд╣реИред рд╕рдордп рдХреЗ рд╕рд╛рде, рдЗрд╕рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрджрдп рд╣реБрдЖ, рдЬреИрд╕реЗ:
- log4j
- рдЬрд╛рд╡рд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓реЙрдЧрд┐рдВрдЧ
- рдХреЙрдордиреНрд╕ рд▓реЙрдЧрд┐рдВрдЧ
- Logback
- Log4j2
рдмрд╛рдХреА рдХреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд╕рдВрдХреАрд░реНрдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЗ рдЕрдкрдиреА рдХрдорд┐рдпреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд┐рдпрд╛ред
рдФрд░ рдЕрдЧрд░, рдХреЛрдб рдорд╛рдирдХреАрдХрд░рдг рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕реНрд▓реЗрдлрд╝ 4 рдЬреЗ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рдж рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реБрдЖ - рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдореВрд░реНрдд рдкрд░рдд рдХреЗ рд░реВрдк рдореЗрдВ, рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЕрдирд╕реБрд▓рдЭреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИрдВред
рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рдореБрджрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдПрдХ рдирдП, рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдФрд░ рдПрдХ рд╣рд▓реНрдХреЗ (рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рдореГрджреНрдз) рд▓рдХрдбрд╝рд╣рд╛рд░рд╛, рдирд╡реАрдирддрдо рд╡рд┐рдХрд╛рд╕ рдЬреИрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдПрдВред
рд╕рдорд╕реНрдпрд╛рдУрдВ
- рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЖрдВрд╢рд┐рдХ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ
рдпрд╣ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ (XML, JSON, YAML) рдореЗрдВ рдШреЛрд╖рдгрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореВрд▓реНрдпреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛрдЧрд╛ред
рдЪрд▓реЛ рд▓реЙрдЧрдмреИрдХ рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реЗрддреЗ рд╣реИрдВ, рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд▓реЙрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП INFO:
<filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter>
рдпрд╣ рдШреЛрд╖рд┐рдд XML рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИред
(рд╣рд╛рдВ, рд▓реЙрдмреИрдХ рдЧреНрд░реВрд╡реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдРрдкреЗрдВрдбрд░реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ)
рд▓реЗрдХрд┐рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рд╕рдорд░реНрдерди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд╛рдпрдм рд╣реИред
- рдЬрдЯрд┐рд▓ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╡рд┐рдиреНрдпрд╛рд╕
Logback рдФрд░ Log4j2 рд▓реЗрдВ:
рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдХреЛ рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ "рдкрд░рд┐рд╢рд┐рд╖реНрдЯ" рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдЬрдмрдХрд┐ рдХреЗрд╡рд▓ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рд╡рд░реНрдЧ рдХреЗ рдирд╛рдореЛрдВ рдХреЗ рд╕реНрддрд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдореЗрдВ рдЕрдиреНрдп рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рдлреВ рдХрдХреНрд╖рд╛ рд╕реЗ рдбрд┐рдмрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд▓реЙрдЧрдмреИрдХ рдореЗрдВ, рдПрдкреЗрдВрдбрд░ рдкрд░ рдЧреНрд░реВрд╡реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ - рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдРрдкреЗрдВрдбрд░ рд╣реИрдВ, рддреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЖрдХрд╛рд░ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИред
- рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рдкрд░ - рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓!
рд╣рдо рдРрд╕реА рд╕реЗрдЯрд┐рдВрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рдЦреЛрдЬ рд╕рдХрддреЗ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рд╕реНрддрд░ (рдбрд┐рдмрдЧ, рд╕реВрдЪрдирд╛ рдЖрджрд┐) рджреНрд╡рд╛рд░рд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрд╛ рдЧрдпрд╛ рд╣реЛред
рдореМрдЬреВрджрд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рдкрд░ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдХреЗ рджреЛрд╣рд░рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
- рд░реВрдЯ рд▓реЙрдЧрд░ рдореЗрдВ рд╣реА рдХреНрд▓рд╛рд╕ рдХреЗ рдирд╛рдо рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рдирд╛
рд░реВрдЯ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдХреЗрд╡рд▓ рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрдВрджреНрд░реАрдХреГрдд рдирд┐рдпрдВрддреНрд░рдг рдХреА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рди рд╡рд░реНрдЧреЛрдВ рдХреЛ рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд▓реЙрдЧ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд▓реЙрдЧрд░ рджреНрд╡рд╛рд░рд╛ рдХреИрд╕реЗ рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмреАрдЪ рдПрдХ рд╡реИрдЪрд╛рд░рд┐рдХ рд╡рд┐рдпреЛрдЧ рд╣реИред
рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдЕрднреНрдпрд╛рд╕ рдРрд╕рд╛ рд╣реИ рдХрд┐ рд▓реЙрдЧрд░ (рдФрд░ рдЙрдирдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕) рдлрд╝рд╛рдЗрд▓-рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд░реНрдЧ-рдХреЗрдВрджреНрд░рд┐рдд рд╣реИрдВред
рдпрд╣ рдорд╛рдирд╡реАрдп рдзрд╛рд░рдгрд╛ рдХрд╛ рдЦрдВрдбрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд░реНрдЧ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЕрдВрддрд┐рдо рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЛ рдорд╛рдирддрд╛ рд╣реИред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реАрдорд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реИ:
- рдЬрдЯрд┐рд▓ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
- рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдХрд╛ рддрд░реНрдХрд╣реАрди рд╡рд┐рдиреНрдпрд╛рд╕:
рд▓реЙрдЧрдмреИрдХ "SiftingAppender" рдореЗрдВ рдЕрдзрд┐рдХрддрдо 1 "рд╡рд┐рднреЗрджрдХ" рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
SiftingAppender рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдиреАрддрд┐ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ
Log4j2 рдореЗрдВ рдкреБрди: рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдиреБрдорд╛рд░реНрдЧрдг
рдирд┐рд░реНрдгрдп
- рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкреВрд░реНрдг рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рд╕рдорд░реНрдерди
рдмреЙрдмрд┐рди рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреНрд░реВрд╡реА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЛрдХреЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣ "рдлрд┐рд▓реНрдЯрд░" рдЙрджрд╛рд╣рд░рдг рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
{ "levels": "['info'].contains(level)" }
рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдкрд╣рд▓реВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
- рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░
- рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо
- рд╕рдВрджреЗрд╢ рд╕реНрд╡рд░реВрдк
- рдлрд╝рд╛рдЗрд▓ рдирд╛рдо
- рд╕рд░рд▓ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕реЗрдЯрдЕрдк
рдмреЛрдмрд┐рди рдХреЛ рдПрдирдХреЛрдбрд░, рдкреИрдЯрд░реНрди, рдлрд┐рд▓реНрдЯрд░, рдбрд┐рд╕реНрдХреНрд░рд┐рдорд┐рдиреЗрдЯрд░ рдФрд░ рдХрдИ рдЕрдиреНрдп рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдпрд╣ рд╕рд┐рд░реНрдл рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдорд╛рдирдХреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- рд╕реНрддрд░реЛрдВ
- рдХрдХреНрд╖рд╛рдПрдВ
- рдлрд╝рд╛рдЗрд▓реЗрдВ
- рд▓рд╛рдЗрди рдкреНрд░рд╛рд░реВрдк
рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЗрдВ: рдмреЙрдмрд┐рди.рдЬреЙрди (рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди) рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдорд╛рд╕реНрдХ рдореЗрдВ рдмрд╕ "$ {рд╕реНрддрд░}" рдбрд╛рд▓реЗрдВред
рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓:
{ "levels": "['debug', 'info', 'warn', 'error'].contains(level)", "destinations": [ { "name": "io.infinite.bobbin.destinations.FileDestination", "properties": { "fileName": "\"./LOGS/PLUGINS/INPUT/${className}/${level}/${className}_${level}.log\"" }, "classes": "className.contains('conf.plugins.input')" }, { "name": "io.infinite.bobbin.destinations.FileDestination", "properties": { "fileName": "\"./LOGS/PLUGINS/OUTPUT/${className}/${level}/${threadName}_${level}_${date}.log\"" }, "classes": "className.contains('conf.plugins.output')" }, { "name": "io.infinite.bobbin.destinations.FileDestination", "properties": { "fileName": "\"./LOGS/THREADS/${threadGroupName}/${threadName}/${level}/${threadName}_${level}_${date}.log\"" }, "classes": "className.contains('io.infinite.')" }, { "name": "io.infinite.bobbin.destinations.FileDestination", "properties": { "fileName": "\"./LOGS/ALL/WARNINGS_AND_ERRORS_${date}.log\"" }, "levels": "['warn', 'error'].contains(level)" }, { "name": "io.infinite.bobbin.destinations.ConsoleDestination", "levels": "['warn', 'error'].contains(level)" } ] }
рдЕрдм рдмреЙрдмрд┐рди рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
Gradle: compile "io.infinite:bobbin:2.0.0"
* рдмреЛрдмрд┐рди рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рдЕрдкрд╛рдЪреЗ рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИред