我試圖在log4net上使用SQL Server Compact Edition(v4.0)。有一個偉大的指南here。它使用Compact Edition 3.5,但大多數步驟應該是相同的。使用帶有log4net的SQL Server Ce 4.0
所以,我創建了內部「的App_Data」一個SQL Server CE 4.0數據庫,在我的MVC Web應用程序「日誌」表,並確保該System.Data.SqlServerCe「複製本地」是真。我還將連接字符串更改爲app_data文件夾。
我的appender看起來是這樣的:
<appender name="SqlCeAppender" type="log4net.Appender.AdoNetAppender">
<connectionType value="System.Data.SqlServerCe.SqlCeConnection, System.Data.SqlServerCe" />
<connectionString value="Data Source=|DataDirectory|\='log4net.sdf'" />
<commandText
value="INSERT INTO Log
([Date],[Thread],[Level],[Logger],[Message],
[Exception], [UserName], [Custom])
VALUES
(@log_date, @thread, @log_level, @logger, @message,
@exception, @username, @custom)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawUtcTimeStampLayout" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
<parameter>
<parameterName value="@exception" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.ExceptionLayout" />
</parameter>
<parameter>
<parameterName value="@username" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%username" />
</layout>
</parameter>
<parameter>
<parameterName value="@custom" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{Custom}" />
</layout>
</parameter>
</appender>
而且......沒有任何反應 - 沒有日誌。當我換出我的文本文件appender時,我得到日誌,所以這與這個appender有關 - 但我不知道是什麼。誰能幫忙?
你能分享一些代碼嗎?在此,我對如何創建使用實體框架的自定義'Appender'非常感興趣。 – InteXX 2015-02-22 13:43:59
@InteXX對不起,這是以前的工作,我沒有那個代碼了。我記得它有很好的文檔記錄,我認爲有些示例代碼顯示了一個自定義的appender。 – 2015-03-09 16:07:30
無論如何,謝謝你。我會想象出來。 – InteXX 2015-03-09 21:09:01