C# 在某些服务器上执行.net方法日志记录,而不是在其他服务器上
几年前,我继承了一个内联网托管的.net web应用程序,我的公司将其安装到客户拥有的服务器上。应用程序是通过IIS托管的,架构师似乎利用log4net来处理日志记录,日志记录被打印到txt日志文件中 现在,由于某种原因,在一些客户服务器上,某些文件将不会按预期打印其日志,是的,此代码正在执行,因为它们的行为正在毫无问题地执行。不打印的文件在不相关的客户服务器上是一致的,并且相同的文件总是不打印。需要明确的是,文件A和B中的方法总是在我的测试机和一些客户服务器上打印日志,但是一组不同的客户服务器都只打印文件A中的日志,而不打印文件B中的日志 例如,当通过应用程序分配流体时(该软件用于流体管理),代码通过Execute()方法,该方法调用Start()方法。如果Execute()方法没有成功地完成其逻辑并因此打印日志,则无法调用Start()方法。在一组无法正常运行的服务器上,我们将从Execute方法中看到0个日志,但是Start()方法调用后将按预期打印 所有这些日志都具有调试优先级,并且执行的优先级相同 正如我所说的,我在我的测试机器上运行的是相同版本的软件,所有这些日志都会打印出来。我甚至备份了一个有问题的服务器数据库,并在我的服务器上进行了设置,我的机器仍然正常记录 上述情况使我相信,问题不在于软件代码,也不在于通过应用程序配置站点的方式,而在于问题的一致性,也不在于日志存在缓冲区或拥塞问题 是否有人有任何想法或线索,作为什么可能导致这一点 以下是问题服务器的web.config中的Log4Net配置,与我的工作机器上的配置相同:C# 在某些服务器上执行.net方法日志记录,而不是在其他服务器上,c#,.net,log4net,C#,.net,Log4net,几年前,我继承了一个内联网托管的.net web应用程序,我的公司将其安装到客户拥有的服务器上。应用程序是通过IIS托管的,架构师似乎利用log4net来处理日志记录,日志记录被打印到txt日志文件中 现在,由于某种原因,在一些客户服务器上,某些文件将不会按预期打印其日志,是的,此代码正在执行,因为它们的行为正在毫无问题地执行。不打印的文件在不相关的客户服务器上是一致的,并且相同的文件总是不打印。需要明确的是,文件A和B中的方法总是在我的测试机和一些客户服务器上打印日志,但是一组不同的客户服务器
<log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="TraceAppender" />
</root>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\lfc\web-dashboard.log" />
<appendToFile value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="14" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%method] - %message%newline" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%method] - %message%newline" />
</layout>
</appender>
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%method] - %message%newline" />
</layout>
</appender>
</log4net>
能否显示log4net配置?不是你认为在服务器上的那个,而是实际上在服务器上的那个。这可能是权限问题(服务器无法将日志文件写入给定的文件夹)。我在问题服务器的web.config中添加了我们的内容,但与我在工作机器上的内容相同。我模糊地记得我曾经遇到过一个问题,在部署过程中没有安装所需的log4net DLL,但是有人在一些服务器上手动安装了它们。我猜其中一个appender没有安装。有关如何在启动时显示配置错误的详细信息,请参阅。谢谢,这可能会有所帮助。我会调查的。