ELMAH在哪里保存数据?

时间:2012-02-18 17:40:21

标签: c# .net elmah

我刚刚安装了ELMAH.MVC(更多信息here)并想知道其数据的保存位置。我读过您可以选择设置数据库进行存储,但似乎默认安装使用“内存中”?它是如何工作的?如果我回收应用程序池或IIS网站,我是否会丢失所有数据?谢谢!

2 个答案:

答案 0 :(得分:37)

是的,默认情况下它使用内存存储。重新启动应用程序池时,会丢失elmah数据。如果我记得很清楚,旧版本的elmah使用App_Data文件夹存储xml文件......如果你想使用数据库存储日志,只需在你的elmah配置部分指定连接字符串:

<elmah>
...
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ElmahConnectionString"/> 

...
</elmah>

你的connectionStrings部分应该有ElmahConnectionString,如下所示:

<connectionStrings>
    <add name="ElmahConnectionString "
         connectionString="Initial Catalog=my_database;data source=.\SQLEXPRESS;Integrated Security=SSPI;"
         providerName="System.Data.SqlClient" />
...
</connectionStrings>

Here您可以找到示例web.config文件。

答案 1 :(得分:4)

阅读“检查ErrorLog类”主题,您将找到答案

Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components