рдлрд╝рдВрдХреНрд╢рди рдЗрдирдкреБрдЯ рд▓реЙрдЧрд┐рдВрдЧ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рди

рдкреБрд░рд╛рдиреЗ рд╕рдордп рд╕реЗ, рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдХреЛ рд▓реЙрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдирд┐рдпрдо рд╣реИред рдФрд░ рдареАрдХ рд╣реИ, рдпрд╣ рд╢реБрд░реБрдЖрдд рдореЗрдВ Logger.LogEntering () рдХреА рдПрдХ рд╕рд░рд▓ рд░реЗрдЦрд╛ рддрдХ рд╕реАрдорд┐рдд рд╣реЛрдЧрд╛ (рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╢рд╛рдпрдж, рдореИрдВ рднреА рдЗрд╕рд╕реЗ рдердХ рдЧрдпрд╛ рд╣реЛрдЧрд╛), рдпрд╣ рднреА рд╣рдорд╛рд░реЗ "рдЕрджреНрднреБрдд" рд╣реЛрдордЧреНрд░реЛрди рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд╛рдо рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдирддреАрдЬрддрди, рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд╣реИ рдПрдХ рдорд╣рд╛рдХрд╛рд╡реНрдп рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди рдмрдврд╝реАред ("Classname.FunctionName - рджрд░реНрдЬ рдХрд░рдирд╛") рдпрд╛ рдРрд╕рд╛ рд╣реА рдХреБрдЫред

рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ Mono.Cecil рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рд╛рд▓ рдХреЗ рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛ рдХрд╛рд░реНрдп рдкреИрджрд╛ рд╣реБрдЖ рдерд╛ред



рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рди рдХреЗрд╡рд▓ рдЖрдВрддрд░рд┐рдХ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдореВрд▓реНрдп, рдмрд▓реНрдХрд┐ рд╕рд╛рдорд╛рдЬрд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ "рдЖрдВрддрд░рд┐рдХ" рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рд╕реАрдорд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдмрд▓реНрдХрд┐ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ log4net рдФрд░ nlog (рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдВрддрд░рд┐рдХ рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ log4net рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред

рдХрд╛рд░реНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдХрд╛рд░реНрдп рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдХреА рдХреЙрд▓ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкреНрд░рд╡реЗрд╢ рдХреЗ рддрдереНрдп рдХреЛ рди рдХреЗрд╡рд▓ рд▓реЙрдЧ рдХрд░реЗрдВ, рдмрд▓реНрдХрд┐ рдЙрди рдкреИрд░рд╛рдореАрдЯрд░ рднреА рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдкреНрд░рд╡реЗрд╢ рдореЗрдВ рджреЗрд░реА рд╣реБрдИ, рдФрд░ рд╢рдмреНрджреЛрдВ рд╕реЗ рдХрд░реНрдореЛрдВ рдХреА рдУрд░ рдмрдврд╝рдиреЗ рдХрд╛ рд╕рдордп рдерд╛ред
рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ MSbuild- рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж рдХреЗ рдЪрд░рдг рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ Logger.Debug ("рдкреНрд░рд╡реЗрд╢") рдХреЙрд▓ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдмрд▓реНрдХрд┐, рдкреНрд░рддреНрдпреЗрдХ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ [рд▓реЙрдЧ] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рд╕рднреА рд╡рд░реНрдЧ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВред рдареАрдХ рд╣реИ, рдпрд╛ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЕрдЧрд░ [рд▓реЙрдЧ] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЕрд╕реЗрдВрдмрд▓реАрдЗрдиреНрдлреЛ рдореЗрдВ рдШреЗрд░рд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдХрд╛рд░реНрдп рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХрд╛ рдорди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ [NoLog] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ MSbuild рдХрд╛рд░реНрдп рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдХреЙрд▓ .csproj \ .vbproj рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
<Import Project="c:\path\to\Logging.NLog.targets" /> 

рдпрджрд┐ рдЖрдк log4net рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдареАрдХ рд╣реИ, рдпрд╛ рдереЛрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдПрдХ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдлрд┐рд▓рд╣рд╛рд▓ LoggingMagic рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдХ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реИред
 //  - Logger -  .  ,        .targets- public class Logger { public static NLog.Logger Log = NLog.LogManager.GetLogger("NlogConsoleApp"); } 


рд╡рд╣ рд╕рдм рд╣реИред рд▓реЙрдЧреНрд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реНрдЯреНрд░реАрдо рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЙрдЧрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдЯрд┐рдХреА рд╣реБрдИ рд╣реИред LoggingMagic рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ, рдЧреБрдг рдФрд░ рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде msbuild рдХрд╛рд░реНрдп рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИред

рдПрдХ рдЧрдВрднреАрд░ рджреЛрд╖ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛-рдкреНрд░рддрд┐-рд╡рд░реНрдЧ рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдХрдореА рд╣реИ (рдЬреЛ рдкреНрд░рдЪрд╛рд░рд┐рдд рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, nlog рджреНрд╡рд╛рд░рд╛), рд▓реЙрдЧрд┐рдВрдЧ рдПрдХ рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рдПрдХ рд╕реНрдерд┐рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, рдпрд╣ рдЬрд╛рдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ рд▓реЙрдЧрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ :) рдкреНрд░рддрд┐ рд╡рд░реНрдЧ рд▓реЙрдЧрд┐рдВрдЧ рд╕рдВрднрд╡рддрдГ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ :)

рдкрд░рд┐рдгрд╛рдо Log4Postsharp рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░рд┐рдк-рдбрд╛рдЙрди рд╕рдорд╛рдирддрд╛ рдереА , рд▓реЗрдХрд┐рди рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрдВрдзреЗ рдмрд┐рдирд╛ рдФрд░ рдХрд┐рд╕реА рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдХреЗ рд╕рд╛рде рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ (рд▓реЙрдЧрдЬреАрдиреЗрдЬрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрд┐рд▓реНрдбрд░реЛрдВ рдХреЗ рдЖрдЧреЗ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдЬрд╛рддреА)ред

рдЗрд╕ рд╕рд╛рд░реЗ рдЕрдкрдорд╛рди рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдбрдкреНрд▓реЗрдХреНрд╕ рдкрд░ рд░рдЦреЗ рдЧрдП рд╣реИрдВ

рдкреАрдПрд╕ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЗрдирдкреБрдЯ рд▓реЙрдЧрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛-рдЕрдирд╛рд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдПрдХ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдирд╣реАрдВ рдЖрдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрднреА-рдХрднреА рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ рдЬрдм рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ рдкрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In114107/


All Articles