Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- namespace Classes_Uteis
- {
- public class LogWriter
- {
- private string _logFolder;
- /// <summary>
- /// O armazenamento dos logs será na pasta "logs" no diretório padrão da aplicação.
- /// </summary>
- public LogWriter()
- {
- _logFolder = Environment.CurrentDirectory + @"\logs\";
- }
- /// <summary>
- /// O armazenamento dos logs será de acordo com o valor da variável "logFolder".
- /// </summary>
- /// <param name="logFolder">O endereço para o diretório padrão para armazenar os logs.</param>
- public LogWriter(string logFolder)
- {
- _logFolder = logFolder;
- }
- private void CheckLogFolder()
- {
- if (!Directory.Exists(_logFolder))
- {
- Directory.CreateDirectory(_logFolder);
- }
- }
- private void CheckFileExistence(string filePath)
- {
- CheckLogFolder();
- if (!File.Exists(filePath))
- {
- File.Create(filePath).Close();
- }
- }
- /// <summary>
- /// Escreve uma nova linha de texto em um arquivo de log.
- /// </summary>
- /// <param name="logLine">Linha de texto a ser escrita</param>
- /// <param name="logFile">O nome do arquivo de texto a ser escrito</param>
- public void WriteLine(string logLine, string logFile)
- {
- string filePath = Path.Combine(_logFolder,logFile);
- CheckLogFolder();
- CheckFileExistence(filePath);
- TextWriter tw = new StreamWriter(filePath, true);
- tw.WriteLine(logLine);
- tw.Close();
- }
- /// <summary>
- /// Método que efetua a leitura de um arquivo de log, especificado pela variável "logFile".
- /// </summary>
- /// <param name="logFile">O endereço do arquivo de log a ser lido</param>
- /// <returns></returns>
- public string[] GetAllLines(string logFile)
- {
- var allLines = new List<string>();
- string filePath = Path.Combine(_logFolder, logFile);
- CheckFileExistence(filePath);
- return File.ReadAllLines(filePath);
- }
- }
- }
Add Comment
Please, Sign In to add comment