gpt4 book ai didi

asp.net-mvc - Log4Net 在开发机器上工作,部署到共享主机时失败(使用相同的 db/connstring)

转载 作者:行者123 更新时间:2023-12-04 23:32:09 26 4
gpt4 key购买 nike

我在本地机器上配置了 log4net 并且工作正常,但是当我部署到我的主机(godaddy)时,它会静默失败。我在我的开发机器和主机上使用相同的数据库/配置文件。我的 log4net 引用设置为复制本地,并且 log4net.dll、.pdb 和 .xml 存在于主机上的 bin 中。这是一个asp.net mvc 应用程序。

编辑:没有抛出异常,应用程序按预期运行(减去日志记录)

这是在 SQL Server 2005 上运行的
网络主机是 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" />

有人对要检查的事情有任何想法吗?

最佳答案

根据我的经验,log4net 通常会吞下任何内部错误,只会导致不产生任何结果的日志语句。

您可能想要尝试的是启用 log4net 的内部日志记录。您可以通过将以下内容添加到您的 appSettings 中来做到这一点。部分:

<add key="log4net.Internal.Debug" value="true" />

这将设置属性 LogLog.InternalDebugging true . log4net 现在将记录到标准输出和错误流以及配置的跟踪监听器。

您可以使用 following configuration捕获记录到跟踪的任何消息:
<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>

log4net 内部记录的所有消息都将出现在 TextWriterOutput.log 中.如果您收到 SecurityException当您将跟踪监听器添加到您的配置时,很可能 apppool 身份没有足够的权限在指定位置创建文件(在示例中: c:\ )。尝试其他位置或为应用程序池标识提供足够的权限。

关于asp.net-mvc - Log4Net 在开发机器上工作,部署到共享主机时失败(使用相同的 db/connstring),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3542581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com