Codigo para criar arquivo de log

Publicado por Claudio Rocha de Jesus 02/04/2009

[ Hits: 11.981 ]

Homepage: www.zambotecnologia.com.br

Download CreateLog.cs




No meu estudo de C# estou trabalhando em um programa para se conectar em um servidor FTP e enviar arquivos automaticamente.

Este código será agregado ao projeto, e caso gere algum erro gravar em um arquivo de log.

  



Esconder código-fonte

/// <summary>
/// CreateLog.cs created with MonoDevelop
/// Ira receber as mensagens de erro do programa e gerar em arquivo texto.
/// @category Utilitarios
/// @package  FTPLib
/// @author   Claudio Rocha de Jesus <[email protected]>
/// @license  http://www.opensource.org/licenses/gpl-3.0.html GPLv3
/// @version
/// @since    1.0
/// @todo     Gerar log em arquivo separado quando gerar algum erro.
/// 
/// Informacoes para compilacao:
/// Linux - Mono
/// gmcs -t:exe -r:System.dll -out:CreateLog.exe CreateLog.cs
/// Windows
/// csc /t:exe /r:System.dll /out:CreateLog.exe CreateLog.cs
/// </summary>

using System;
using System.IO;

    public class CreateLog
    {
           private string localPath;
        
    /// <summary>
    /// Metodo setter setSourcePath
    /// Define o caminho onde arquivo sera criado
    /// </summary>
    /// <param name="localPath">
    /// A <see cref="System.String"/>
    /// </param>
    /// <return>
    /// A <see langword="void"/>
    /// </return>
        public void setSourcePath(string localPath)
        {
            this.localPath = localPath;
        }

    /// <summary>
    /// Metodo getter getSourcePath
    /// Retorna o caminho onde o arquivo sera criado
    /// </summary>
    /// <returns>
    /// A <see cref="System.String"/>
    /// </returns>
        protected string getSourcePath()
        {
            return localPath;
        }

    /// <summary>
    /// Metodo construtor da classe, CreateFile
    /// </summary>
        public CreateLog()
        {
            setSourcePath(".");
        }

    /// <summary>
    /// Metodo FileNamer
    /// Cria um arquivo usando como prefixo 2FTP, acrescenta a data e hora da criacao como sufixo.
    /// </summary>
    /// <returns>
    /// A <see cref="System.String"/>
    /// </returns>
        protected string FileNamer()
        {
            DateTime dateNow = DateTime.Now;
            string fileName = "2FTP_" + String.Format("{0:MMddyyyyHHmmss}", dateNow) + ".log";
            return fileName;
        }

        /// <summary>
        /// Metodo DirectoryLog
        /// Ira verificar se o diretorio de log existe no diretorio passado,
        /// caso nao exista ira cria-lo.
        /// </summary>
        /// <returns>
        /// Retorna variavel localPathLog <see cref="System.String"/>
        /// </returns>
        protected string DirectoryLog()
        {
            string localPathLog = localPath + "log/";
            if (Directory.Exists(localPathLog))
            {
                return localPathLog;
            }
            else
            {
                try
                {
                    Directory.CreateDirectory(localPathLog);
                    return localPathLog;
                }
                catch (Exception e)
                {
                    Console.WriteLine("Nao foi possivel criar o diretorio {0} por que {1}.", localPathLog, e);
                    return localPathLog;
                }
            }
        }

    /// <summary>
    /// Metodo Creater
    /// Cria o arquivo com o caminho completo
    /// </summary>
        public void Creater()
        {
            string fileName = FileNamer();
            string localPathLog = DirectoryLog();
            string fullFileName = localPathLog + fileName;
            try
            {
                File.Create(fullFileName);
            }
            catch (Exception e)
            {
                Console.WriteLine("Nao foi possivel criar o arquivo {0}.", e);
            }
        }

    /// <summary>
    /// Metodo Main
    /// </summary>
        public static void Main()
        {
            CreateLog cf = new CreateLog();
            cf.setSourcePath("/home/rocha/Documentos/arquivos/sistemas/projects/2FTP/");
            cf.Creater();
        }
    }

Scripts recomendados

Listar arquivos e diretórios com suas propriedades

Ler .conf

Montando string de conexão para banco de dados em C# através de um arquivo xml personalizado

Super Truco

read_log_conf


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts