Log4Net SmtpAppender für WebEmail - Nicht Senden

Ich versuche, Log4Net arbeiten mit web-E-Mail, entweder von Yahoo oder Gmail. Wenn Sie diese arbeiten, würde ich mich über etwas Hilfe, und danke im Voraus.

Habe ich einen Standard-root-logger, mit einem RollingFileAppender und ein SmtpAppender.
Die Datei-appender ist in Ordnung. Die SmtpAppender gibt mir nichts.

Ich bin dem Aufruf der logger von einem Diagnose-Schaltfläche, klicken Sie auf...

protected void btnReloadContractConfig_Click(object sender, EventArgs e)
{
    //DIAGNOSTIC - Test email logger
    log4net.ILog logger = log4net.LogManager.GetLogger("root");
    logger.Error("btnReloadContractConfig_Click() - This is a TEST of delivery of error messages via email, triggered from the Admin.aspx.cs code file.");
}

...und die RollingFileAppender ist die Botschaft...

LOC=20120921-12:03:16.319,UTC=20120921-11:03:16.319,DELTA=10078,THR=6,FEHLER,LOG=Wurzel[(null)] - btnReloadContractConfig_Click() - Dies ist ein TEST für die Auslieferung von Fehlermeldungen via E-Mail, ausgelöst von der Admin.aspx.cs-code-Datei.

Web.config-Einträge für Log4Net sind hier::

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


  <log4net 
    xsi:noNamespaceSchemaLocation="http://csharptest.net/downloads/schema/log4net.xsd" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="SmtpAppender" />
    </root>

    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="MiniMkt01Log.txt"/>
      <!-- <file value="${TMP}\log-file.txt" /> -->
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout" >
    <header value="[Header]&#13;&#10;" />
    <conversionPattern value="LOC=%date{yyyyMMdd-HH:mm:ss.fff},UTC=%utcdate{yyyyMMdd-HH:mm:ss.fff},DELTA=%timestamp,THR=%thread,%-5level,LOG=%logger,[%property{NDC}] - %message%newline" />
      </layout>  
    </appender>

    <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
      <to value="[email protected]" />
      <from value="[email protected]" />
      <subject value="Logging Message" />
      <smtpHost value="smtp.yahoo.com" />
      <port value="25"/>
      <authentication value="Basic" />
      <username value="[email protected]"/>
      <password value="?????[real password hidden for obvious reasons]"/>
      <!-- <EnableSsl value="true" /> -->
      <bufferSize value="10" />
      <lossy value="true" />
      <evaluator type="log4net.Core.LevelEvaluator">
    <threshold value="WARN"/>
      </evaluator>
      <layout type="log4net.Layout.PatternLayout">
    <header value="[Header]&#13;&#10;" />
    <!-- Previously... <conversionPattern value="%newline%date,%utcdate,%timestamp,[%thread],%-5level,%logger,[%property{NDC}] - %message%newline%newline%newline" /> -->
    <conversionPattern value="%newlineLOC=%date{yyyyMMdd-HH:mm:ss.fff},UTC=%utcdate{yyyyMMdd-HH:mm:ss.fff},DELTA=%timestamp,THR=%thread,%-5level,LOG=%logger,[%property{NDC}] - %message%newline%newline%newline" />
      </layout>
    </appender>

  </log4net>

Web.config ist, wird abgeholt, in der Globalen.asax-Datei, in der Application_Start () - handler...

void Application_Start(object sender, EventArgs e) 
{
    //Start Log4Net, signal app has started
    log4net.Config.XmlConfigurator.Configure();
    log4net.ILog logger = log4net.LogManager.GetLogger("root");
    logger.Info("Application_Start()");
}

Admin-web-Seite, löst die E-Mail-Versuch scheint entweder unbegrenzt lange hängen, oder hängen Sie kurzzeitig (halbe Sekunde) und dann weiter.

Der dev-Umgebung nicht zusammenbricht, mit einer Ausnahme, ist es entweder hängen oder gleiten auf, ohne Fehler.

  • Wie erhalte ich zusätzliche Diagnostik aus der SmtpAppender?
  • Kann ich unabhängig testen den port/config zu prüfen, eine lokale blockieren von ausgehenden programmatische E-Mail?
  • Ist eine log4net E-Mail garantiert versendet werden? Die verlustreiche und bufferSize-Eigenschaften
    scheinen sehr empfindlich, wenn ich verlustbehaftet=false, bekomme ich eine unbestimmte hängen...

Referenz ich bin mit VS 2010, ASP.Net4, und viel Koffein. Nochmals vielen Dank für jede kommende Hilfe.

Schreibe einen Kommentar