C#'ta event log yazımı

05 Şubat 2016 2 dk okuma süresi 109 okunma

Aşağıdaki kod bloğu ile kolayca event log yazabilirsiniz. Event log yazabilmeniz için projenizde System.Diagnostics namespace'inin yüklü olması gerekir.

Öncelikle projenizde EventLogManager.cs gibi bir isimle (istediğiniz ismi verebilirsiniz) class oluşturun ve içeriğini aşağıdaki gibi düzenleyip projenizin içerisinde dilediğiniz yerde kullanın.

using System;
using System.Diagnostics;

namespace EventLogs
{
    public class EventLogManager
    {
        // Event log tipleri
        // EventLogEntryType.Error
        // EventLogEntryType.FailureAudit
        // EventLogEntryType.Information
        // EventLogEntryType.SuccessAudit
        // EventLogEntryType.Warning
        
        private static System.Diagnostics.EventLog eLog = null;

        public EventLogManager()
        { }
        
        public static void EventLogYaz(string message, EventLogEntryType logTipi)
        {
            if (!System.Diagnostics.EventLog.SourceExists("LOG_ADI"))
            {
                EventSourceCreationData data = new EventSourceCreationData("LOG_ADI", "LOG_ADI");
                System.Diagnostics.EventLog.CreateEventSource(data);
            }

            if (eLog == null)
                eLog = new System.Diagnostics.EventLog();

            eLog.Source = "LOG_ADI";
            eLog.WriteEntry(mesaj + "\n" + " Tarih: " + DateTime.Now.ToString(), logTipi);
        }
    }
}

LOG_ADI kısmı eventlog'larını açıp hataları listelemek isterseniz filtrelemede kullanabileceğiniz bir anahtar kelimedir. Loglar o LOG_ADI ile kayıt altına alınır.

Yazılarıma abone olmak ister misiniz?
Spam yapılmaz, sadece bildirim amaçlıdır. İstediğiniz zaman abonelikten çıkabilirsiniz.
İlginizi çekebilecek diğer yazılar.
VS2015'in 3. update'ini yaptıktan sonra asp.net core web uygulaması yaratmak istediğimde şu şekilde bir hata ile karşılaştım. "Exception : The system cannot find the file specified. (Exception from HRESULT: 0x80070002)". Çözümü oldukça basit.

Entity framework code first kullanıyorsanız ve inheritance yapıp yeni bir class yarattığınızda bunun gibi bir hata alırsınız. Bunun nedeni fluent api'nin inheritance yapılan class ile ana class'ın map yapmaya çalışması ve ilgili kolonu veritabanında bulamamasıdır. Çözümü ise inherit olmuş class'a [NotMapped] DataAnnotations attribute'unu eklemek.

Asp.Net Mvc ile recursive nasıl yazılır, @helper veya HtmlHelper kullanarak recursive fonksiyon yazmak, Asp.Net MVC View recursive fonksiyon nasıl yazılır?