2010-02-09 12 views
13

Estoy usando log4net para enviar correos cuando se produce un error en la aplicación. He configurado el log4net pero el correo no es recd. A continuación se muestra la configuración:Log4net - smtp appender no funciona

<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender"> 
     <to value="[email protected]"/> 
     <from value="[email protected]"/> 
     <subject value="ERROR | MRM Application"/> 
     <smtpHost value="relaymail.sapient.com"/> 
     <bufferSize value="512"/> 
     <lossy value="true"/> 
     <evaluator type="log4net.Core.LevelEvaluator"> 
      <threshold value="ALL"/> 
     </evaluator> 
     <layout type="log4net.Layout.PatternLayout,log4net"> 
      <conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline"/> 
     </layout> 
    </appender> 

¿Hay algún otro cambio que deba realizarse?

+0

Por favor, después el resto de su log4net.config y cómo lo estás inicializando –

+0

¿puedes iniciar sesión en otros appenders? –

+0

si desea recibir correos electrónicos sobre errores, debe establecer el umbral en ERROR –

Respuesta

10

Compruebe si necesita autenticación SMTP.

También bufferSize value = "512" significa que recopilará 512 mensajes antes de enviar un correo electrónico. Estoy bastante seguro de que no quieres eso.

+2

Lo modifiqué a 1. aún no recibo ningún correo. ¿Hay alguna otra configuración que deba realizarse aparte de web.config – Ankit

12

Se ve bien. Para ver algunos mensajes de depuración log4net en su consola añaden las siguientes líneas en su app.config

<appSettings> 
    <add key="log4net.Internal.Debug" value="true"/> 
    </appSettings> 

Tal vez esto le dará una pista.

+2

Encontré este artículo útil, describe con más detalle cómo hacer esto: http://david.gardiner.net.au/2008/11 /log4nets-smtpappender-with-multiple.html –

+0

Si agrega la configuración de esta aplicación a su aplicación web, observe que log4net usa la infraestructura de rastreo en System.Diagnostics para generar información de depuración. Por lo tanto, debe asegurarse de tener configurada la localización. Eche un vistazo al artículo @AaronD vinculado a, para ver un ejemplo de cómo configurar el seguimiento para generar un archivo de texto. –

4
<lossy value="false" /> 

que ayudaron para mí

5

También descubrí que la appender tiene que ser referenciado en el elemento raíz, como por ejemplo:

<root> 
     <level value="INFO"/> 
     <appender-ref ref="LogFileAppender"/> 
     <appender-ref ref="ConsoleAppender"/> 
     <appender-ref ref="SmtpAppender"/>  
    </root> 
    </log4net> 
+0

Esto fue todo para mí, ¡salud! –

Cuestiones relacionadas