Codigo para criar arquivo de log

Publicado por Claudio Rocha de Jesus 02/04/2009

[ Hits: 12.627 ]

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 <crochadejesus@yahoo.com.br>
/// @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

Organizador de filmes para o IMDB

read_sql_conf

Cadastro de clientes

Vi para Windows

Ler config


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts