sandrovieira

Simple LogWritter Class

Aug 25th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.34 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4.  
  5. namespace Classes_Uteis
  6. {
  7.     public class LogWriter
  8.     {
  9.         private string _logFolder;
  10.  
  11.         /// <summary>
  12.         /// O armazenamento dos logs será na pasta "logs" no diretório padrão da aplicação.
  13.         /// </summary>
  14.         public LogWriter()
  15.         {
  16.             _logFolder = Environment.CurrentDirectory + @"\logs\";
  17.         }
  18.  
  19.         /// <summary>
  20.         /// O armazenamento dos logs será de acordo com o valor da variável "logFolder".
  21.         /// </summary>
  22.         /// <param name="logFolder">O endereço para o diretório padrão para armazenar os logs.</param>
  23.         public LogWriter(string logFolder)
  24.         {
  25.             _logFolder = logFolder;
  26.         }
  27.  
  28.         private void CheckLogFolder()
  29.         {
  30.             if (!Directory.Exists(_logFolder))
  31.             {
  32.                 Directory.CreateDirectory(_logFolder);
  33.             }
  34.         }
  35.  
  36.  
  37.         private void CheckFileExistence(string filePath)
  38.         {
  39.             CheckLogFolder();
  40.  
  41.             if (!File.Exists(filePath))
  42.             {
  43.                 File.Create(filePath).Close();
  44.             }
  45.         }
  46.  
  47.         /// <summary>
  48.         /// Escreve uma nova linha de texto em um arquivo de log.
  49.         /// </summary>
  50.         /// <param name="logLine">Linha de texto a ser escrita</param>
  51.         /// <param name="logFile">O nome do arquivo de texto a ser escrito</param>
  52.         public void WriteLine(string logLine, string logFile)
  53.         {
  54.             string filePath = Path.Combine(_logFolder,logFile);
  55.             CheckLogFolder();
  56.             CheckFileExistence(filePath);
  57.             TextWriter tw = new StreamWriter(filePath, true);
  58.             tw.WriteLine(logLine);
  59.             tw.Close();
  60.         }
  61.  
  62.         /// <summary>
  63.         /// Método que efetua a leitura de um arquivo de log, especificado pela variável "logFile".
  64.         /// </summary>
  65.         /// <param name="logFile">O endereço do arquivo de log a ser lido</param>
  66.         /// <returns></returns>
  67.         public string[] GetAllLines(string logFile)
  68.         {
  69.             var allLines = new List<string>();
  70.             string filePath = Path.Combine(_logFolder, logFile);
  71.             CheckFileExistence(filePath);
  72.             return File.ReadAllLines(filePath);
  73.         }
  74.     }
  75. }
Add Comment
Please, Sign In to add comment