jln*_*thy 4 asp.net-mvc log4net sql-server-2005 adonetappender
我已在我的本地计算机上配置了log4net并正常工作,但是当我部署到我的主机(godaddy)时,它会无声地失败.我在我的开发机器和主机上使用相同的数据库/配置文件.我的log4net引用设置为copy local,而log4net.dll,.pdb和.xml存在于主机上的bin中.这是一个asp.net mvc应用程序.
编辑:没有抛出异常,应用程序按预期运行(减去日志记录)
这是在SQL Server 2005上运行的.nethost是IIS 7
我的配置的突出细节是:
<root>
<level value="DEBUG" />
<appender-ref ref="AdoNetAppender" />
</root>
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
Run Code Online (Sandbox Code Playgroud)
有人对要检查的事情有任何想法吗?
根据我的经验,log4net通常会吞下任何内部错误,只会导致日志语句不产生任何结果.
您可能想要尝试的是启用log4net的内部日志记录.您可以通过在以下appSettings部分添加以下内容来执行此操作:
<add key="log4net.Internal.Debug" value="true" />
Run Code Online (Sandbox Code Playgroud)
这会将属性设置LogLog.InternalDebugging为true.log4net现在将记录到标准输出和错误流以及配置的跟踪侦听器.
您可以使用以下配置捕获记录到跟踪的任何消息:
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="myListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="c:\TextWriterOutput.log" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
log4net在内部记录的所有消息都将显示在TextWriterOutput.log.如果SecurityException在将配置跟踪侦听器添加到配置时获得了,则很可能apppool标识没有足够的权限在指定位置创建文件(在示例中:) c:\.尝试其他位置或给予apppool身份足够的权限.
| 归档时间: |
|
| 查看次数: |
3516 次 |
| 最近记录: |