ASP.Net Web Programlama C# WinForms ve Mono GTK

C# Log to File

Filestream işlemleri tamamlanmadan yeni istekte bulunma durumları can sıkıcı olabiliyor. Kopyala yapıştır yapabileceğim bir kod bırakıyorum buraya.

public class Logs {
    public static void Add(string message, LogType type= LogType.Info) {
        try {
            string dir = Path.Combine(Directory.GetCurrentDirectory(), "logs");
            if(!Directory.Exists(dir))
                Directory.CreateDirectory(dir);

            string typname= "";
            switch(type) {
                case LogType.Info: typname = "Informations_"; break;
                case LogType.Error: typname = "Errors_"; break;
                case LogType.Exception: typname = "Exceptions_"; break;
            }

            string filename= Path.Combine(dir + "\\" + typname + DateTime.Now.ToString("yyyyMMdd").Replace(".","") + ".txt");
            if(!File.Exists(filename)) {
                using(var fs = File.Create(filename)) {
                    fs.Close();
                }
            }

            File.AppendAllText(
                filename,
                DateTime.Now.ToString() + " - " + type.ToString() + " - " + message + "\n"
            );
        } catch (Exception exc) { 
            Console.WriteLine(exc); 
        }
    }
}

public enum LogType {
    Info,
    Error,
    Exception
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir