Wednesday, September 4, 2013

Custom Error Logging in C#

1. Cratre a ErrorLogging.txt text file in C:\TestFolder folder
2. if ErrorLogging.txt Exceed 4MB then move this file to C:\TestFolder\BackUpFiles folder and    rename as ErrorLogging_<TimeStamp>.txt.
3. as usally create a new ErrorLogging.txt text file in C:\TestFolder
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorLogging
{
    class ErrorLoggingProgram
    {
        static void Main(string[] args)
        {
            string directory = @"C:\TestFolder";
            try
            {
                if (!Directory.Exists(directory))
                {
                    DirectoryInfo di = Directory.CreateDirectory(directory);
                }
            }
            catch (IOException ioex)
            {
                Console.WriteLine(ioex.Message);
            }
            string errormsg = "first line";
            if (File.Exists(@"C:\TestFolder\ErrorLogging.txt"))
                using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\TestFolder\ErrorLogging.txt", true))
                {
                    file.WriteLine(errormsg);
                    file.Flush();
                    file.Close();
                    FileInfo fi = new FileInfo(@"C:\TestFolder\ErrorLogging.txt");
                    var size = fi.Length;
                    if (File.ReadAllBytes(@"C:\TestFolder\ErrorLogging.txt").Length >= 4 * 1024 * 1024) // (4MB) File to big? Create new
                    {
                        Console.WriteLine("File Size in Bytes: {0} greater than 10kb", size);
                        moveFile();
                    }
                    Console.WriteLine("File Size in Bytes: {0}", size);
                }
            else
                using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\TestFolder\ErrorLogging.txt", true))
                {
                    file.WriteLine(errormsg);
                    Console.WriteLine("Does not Exist" + "\t" + @"C:\TestFolder\ErrorLogging.txt");
                    file.Flush();
                    file.Close();
                }
            Console.ReadKey();
        }
        private static void moveFile()
        {
            string directory = @"C:\TestFolder\BackUpFiles";
            try
            {
                if (!Directory.Exists(directory))
                {
                    DirectoryInfo di = Directory.CreateDirectory(directory);
                }
            }
            catch (IOException ioex)
            {
                Console.WriteLine(ioex.Message);
            }
            string sourceFile = @"C:\TestFolder\ErrorLogging.txt";
            string timeStamp = DateTime.Now.ToString("yyyyMMddHHmmssffff");
            string destinationFile = @"C:\TestFolder\backupfiles\ErrorLogging_" + timeStamp + ".txt";
            System.IO.File.Move(sourceFile, destinationFile);
        }
    }
}

No comments:

Post a Comment

Featured Post

Create SharePoint Folder Structure in Destination (Only If Not Exists)

Why This Script Is Safe You can run it multiple times It will not create duplicate folders It will only create missing folders S...

Popular posts