Merhabalar, bugün sizlere C# ile Log4Net ile ilgili bilgiler vereceğim.
Log4Net Nedir ?
Log4Net yazılımınızdaki hata ve işlemleri loglama aracı olarak kullanılmaktadır.
İlk önce programınıza Log4Net’ i referans olarak eklemeniz gerekmektedir. Bunun için Solution Explorer -> Projenize Sağ Tıklıyorsunuz -> Manage Nuget Packages online seçeneğini seçerek search bölümüne Log4Net yazıp DLL yüklüyoruz.
Log4Net için XML bilgilerini belirlemeliyiz. Bunu ya app.config veya web.config dosyası oluşturarak yapabiliriz. Oluşturduğunuz dosyanın içine aşağıdaki kodu ekleyiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <log4net debug="false"> <appender name="LogFileAppender" type="log4net.Appender.FileAppender,log4net" > <param name="File" value="D:/log.txt" /> <param name="AppendToFile" value="true" /> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" /> </layout> </appender> <root> <priority value="ALL" /> <appender-ref ref="LogFileAppender" /> </root> <category name="testApp.LoggingExample"> <priority value="ALL" /> </category> </log4net> |
Aşağıda olduğu gibi bazı parametreler vermemiz gerekiyor. Örneğin log dosyasının nereye kayıt edileceğini belirleyebiliriz. Bunun yanında log tutma formatını belirleyebilirsiniz. <priority value=”ALL” /> şeklinde yazan kısım için kısıtlama getirmek mümkündür. Bu düzenlemeden sonra bu config dosyasını tanıtmamız gereklidir.
1 2 3 4 | public static void Configuration(HttpContext context) { log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(context.Server.MapPath("Web.config"))); } |
Log kaydı yapabilmemiz için bir log nesnesi oluşturmalıyız.
1 2 3 4 5 6 7 | public static ILog Log { get { return log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); } } |
1 | Log.("HATA: " + ex); |
Soru ve görüşleriniz için [email protected] adresine mail atabilirsiniz.
Log.(“Mesaj”); yapılamıyor çünkü set eklenmemiş sadece get ediliyor . Nasıl kayıt alabiliriz ?