备忘
利用log4net可以实现捕获错误后自动邮件的功能。
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> </configSections> <log4net> <root> <!--log level: OFF|DEBUG|INFO|WARN|ERROR|FATAL|ALL--> <!--如果没有定义LEVEL的值,则缺省为DEBUG--> <level value="ALL" /> <!--定义输出形式--> <!--邮件输出--> <appender-ref ref="LogSmtpAppender" /> <!--文件输出--> <appender-ref ref="LogFileAppender" /> </root> <!--定义输出到文件中--> <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <!--日志文件存放位置--> <file value="Log/Log.txt" /> <!--是否以追加的形式记录日志--> <appendToFile value="true" /> <!--每日生成一个日志文件--> <rollingStyle value="Date" /> <!--时间格式--> <datePattern value="yyyyMMdd-HH:mm:ss" /> <layout type="log4net.Layout.PatternLayout"> <!--输出格式--> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n"/> </layout> </appender> <!--定义邮件发送--> <appender name="LogSmtpAppender" type="log4net.Appender.SmtpAppender"> <!--Basic:使用用户名和密码登陆--> <authentication value="Basic" /> <to value="xxxxxxxxx@qq.com" /> <from value="xxxxxxxxx@qq.com" /> <username value="用户名" /> <password value="用户密码" /> <subject value="主题" /> <smtpHost value="smtp.qq.com" /> <port value="25" /> <bufferSize value="2048" /> <!--超长部分是否丢弃--> <lossy value="true" /> <!-- 日志级别高于或等于ERROR的才发邮件. --> <evaluator type="log4net.Core.LevelEvaluator"> <threshold value="ERROR"/> </evaluator> <!-- 定义邮件的格式 --> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline" /> </layout> </appender> </log4net> </configuration>