Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pcclrocks

[Resolvido] c# + Enterprise Library 5.0

Recommended Posts

Ola a todos.

Quero fazer um log para ser enviado por mail.

Nesse log vão ser enviados os erros da console application durante a sua execução.

Eu estou obrigado a usa o Enterprise Library 5.0, que é bem diferente do 4.0, devido a ser usado de forma diferente e ter um visual diferente.

Existe pouca informação sobre o 5.0, e tuturias (5.0) não vi nenhum.

Nunca usei o Enterprise Library, mas o que tem de ser será!

Já criei o Text Formater, o Email Trace Listener e o Event Log Listener e gravei.

E agora???

 

Referências para o 5.0:

Microsoft.Practices.EnterpriseLibrary.Common

Microsoft.Practices.EnterpriseLibrary.ExceptionHandling

Microsoft.Practices.EnterpriseLibrary.Logging

falta alguma ou já estão a mais?

 

Adicionei o ficheiro .config gerado ao meu projeto C#, a ver se descubro alguma coisa.

Agradeço qualquer dica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui!!!!

 

Tática do tentativa erro...

Abri o enterprise library configuration e abri o meu app.config.

Criei um text formater e deixei-o assim:

 

Timestamp: {timestamp}{newline}

{dictionary({key} {value})}

 

adicionei um Roling Flat Trace Listener e configurei a meu gosto.

dei um nome ao *.log, tamanho 10000kb e File exists behavior: increment.

 

No visual studio:

adicionei as referencias:

Microsoft.Practices.EnterpriseLibrary.Common

Microsoft.Practices.EnterpriseLibrary.Logging

Microsoft.Practices.EnterpriseLibrary.ObjectBuilder

 

criei uma class logging.cs

 


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Logging;
using Microsoft.Practices.EnterpriseLibrary.Logging.ExtraInformation;
using Microsoft.Practices.EnterpriseLibrary.Logging.Filters;


namespace meuprojeto
{
    class Logging
    {
        public static void WriteToLogError(Exception Ex,  string AuxMessage)
        {
            

            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.Add("Method: ", ((System.Reflection.MemberInfo)(Ex.TargetSite)).Name + Environment.NewLine);
            dictionary.Add("LineError: ", Ex.StackTrace + Environment.NewLine);
            dictionary.Add("ErrorMessage: ", Ex.Message + Environment.NewLine);
            dictionary.Add("AuxMessage: ", AuxMessage + Environment.NewLine);

            LogEntry logEntry = new LogEntry();
            Logger.Write("", dictionary);     
        }
    }

mais facil do que pensava

agora é só enviar o ficheiro log por mail.

espero que isto ajude alguem.

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.