问题描述
这是配置
$categories = get_the_category();
foreach($categories as $category) {
echo '<a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a>';
}
<log4net debug="true">
<appender name="RFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<File value="logs/file.txt" />
<AppendToFile value="true" />
<DatePattern value="_yyyyMMdd" />
<RollingStyle value="Date" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %date ==> %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RFileAppender" />
</root>
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="mail" />
<from value="mail" />
<subject value="Service Error Log" />
<smtpHost value="SMTPServer.domain.com" />
<bufferSize value="512" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="ERROR"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
</layout>
</appender>
<root>
<level value="Error" />
<appender-ref ref="SmtpAppender" />
</root>
</log4net>
我认为是配置问题,可能缺少某些内容或某些错误的数据,但我不知道是什么,我做错了什么?我放了两个appender,因为info和warning日志级别必须写在文件里,而error级别写在文件和邮件中
更新
private void SendErrorLogByMail(string error)
{
mailLogger.Error(error);
}
现在配置 log4net 时返回此错误:
<log4net debug="true">
<appender name="RFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<File value="log.txt"/>
<AppendToFile value="true"/>
<DatePattern value="_yyyyMMdd"/>
<RollingStyle value="Date"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %date ==> %message%newline"/>
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="RFileAppender"/>
</root>
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="from" />
<from value="to" />
<subject value="Error Log" />
<bufferSize value="512" />
<smtpHost value="smtp.gmail.com" />
<port value="587" />
<authentication value="Basic" />
<username value="***" />
<password value="***" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="ERROR"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
</layout>
</appender>
<root>
<level value="Error" />
<appender-ref ref="SmtpAppender" />
</root>
</log4net>
解决方法
看。我只是看到您的配置,您是否尝试更改其他主机(例如 Gmail)的标签值? 我没有使用 log4net 的经验,但有时当发送电子邮件出现问题时,可能是 SMTP 主机、端口。 有道理吗?