我正在使用 Orchard 为新网站提供动力,当我尝试启用我的新主题(即使在预览模式下)时,我得到“由于内部服务器错误,无法显示页面。” 我尝试将 web.config 中的 customErrors 更改为 Off,但这并没有改变任何东西,所以我开始使用 log4net 的配置。我的配置如下:
<appender name="error-file" type="Orchard.Logging.OrchardFileAppender">
<!-- error log: only ERROR and FATAL subset of debug log -->
<file value="App_Data/Logs/orchard-error" />
<appendToFile value="true" />
<!-- immediate flush on error log, to avoid data loss with sudden termination -->
<immediateFlush value="false" />
<staticLogFileName value="false" />
<rollingStyle value="Date" />
<datepattern value="-yyyy.MM.dd'.log'" />
<!-- prevent orchard.exe from displaying locking error messages -->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %logger - %message%newline" />
</layout>
</appender>
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<threshold value="WARN"/>
<to value="to@email.com" />
<from value="from@email.com" />
<subject value="Site Error" />
<smtpHost value="mailserver.com" />
<bufferSize value="2147483647" />
<lossy value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
</layout>
在配置的第一部分,它非常敏感。如果我将 appendToFile 更改为 false(意味着为每个错误创建一个新文件),则不会记录任何内容,也不会创建任何文件。当它为假时,会创建一个错误日志,但没有写入任何内容(暗示它已被缓冲)。此外,当我将“immediateFlush”更改为 true 时,不会写入/创建错误日志。我尝试根据搜索 Bing/Google 添加电子邮件配置信息,但它什么也没做(尝试缓冲区大小为 1 和 int.MaxValue)。没有记录错误,也没有发送电子邮件。
我需要做的就是找出错误是什么,但我动不动就被阻止,并且无法访问 Web 服务器本身来查看事件日志。这里有什么建议吗?另一件事是我重新启动了应用程序池几次,希望这会导致记录未决错误,但也没有运气 - 文件大小保持在 0。