我在VS 2012中的WCF应用程序中使用此代码,SQL Express是2008 R2。
我已经包含了fileAppendor和Database Appendor,File Appender工作正常,但它没有将数据插入数据库。
我已经验证了相同的连接字符串,它的工作正常并将记录插入到表中。
此外,我已将缓冲区值设置为1,仍然没有运气
<bufferSize value="1" />
这是我的配置文件
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="server=(local)\\SQLEXPRESS;database=Log_DB;Integrated Security=SSPI;Connection Timeout=360;" />
<connectionString value="data source=[(local)\\SQLEXPRESS];initial catalog=[Log_DB];integrated security=SSPI" />
<commandText value="INSERT INTO [Error_Log] ([Date_time] ) VALUES (@Date_time)" />
<parameter>
<parameterName value="@Date_time" />
<dbType value="DateTime" />
<!--<layout type="log4net.Layout.RawTimeStampLayout" />-->
<layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
</parameter>
</appender>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="log-file.txt"/>
<appendToFile value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] ID=%property{EventID} - %message%newline" />
</layout>
</appender>
<!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="AdoNetAppender" />
</root>
</log4net>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
...
</configuration>
我缺少其他任何东西吗?
此外,我没有通过将Internal.Debug设置为true来获取任何信息。 如何获取log4net的内部调试细节?
答案 0 :(得分:1)
最后我得到了答案,我在这里分享,因为它可以帮助别人。
需要在连接字符串中使用系统/计算机名称而不是(本地)。即使使用dotnet应用程序(本地)工作,但对于log4net也需要使用系统名称。