带有Microsoft Dynamics CRM 3.0详图索引的log4net

带有Microsoft Dynamics CRM 3.0详图索引的log4net,log4net,dynamics-crm,Log4net,Dynamics Crm,我正在转换crm 3.0调用库,并希望使用log4net进行日志记录。我能够将库编译并部署到我的crm服务器上,但似乎无法将其记录下来。我正在使用RollingLogFileAppender。我将log4net.config和库的编译版本放在\server\assembly文件夹中。我在crm中启用了跟踪日志,此处或事件查看器中未记录任何错误。我已授予网络服务用户对\server\assembly文件夹的完全访问权限,并且在这里配置了要写入的log4net日志 当我使用StreamWriter编

我正在转换crm 3.0调用库,并希望使用log4net进行日志记录。我能够将库编译并部署到我的crm服务器上,但似乎无法将其记录下来。我正在使用RollingLogFileAppender。我将log4net.config和库的编译版本放在\server\assembly文件夹中。我在crm中启用了跟踪日志,此处或事件查看器中未记录任何错误。我已授予网络服务用户对\server\assembly文件夹的完全访问权限,并且在这里配置了要写入的log4net日志

当我使用StreamWriter编写自己的日志方法时,它确实可以工作,但我更愿意使用log4net

我觉得log4net找不到log4net.config,但我不知道如何在不经历远程调试或向log4net库添加额外调试代码的情况下确定这一点


有什么建议吗?

对于插件/工作流活动,您的配置文件将相对于\Microsoft Dynamics CRM\Server\bin目录(假设您使用的是相对路径)。我对CRMWeb\bin和\Server\bin目录使用一个程序集,因此实际上我有两个配置文件。一个位于CRMWeb\ISV\MyISV\log4net.xml,另一个用于插件/工作流的位于\Microsoft Dynamics CRM\Server\bin\ISV\MyISV\log4net.xml

在my assemblyinfo.cs中,我有以下规格:

[程序集:log4net.Config.XmlConfigurator(ConfigFile=“ISV\MyISV\log4net.xml”,Watch=true)]

一旦确定要在正确的位置查找配置文件。。。如果您仍然无法处理正常的滚动文件,请设置smtp附加程序以查看是否收到电子邮件。我发现我作为插件/工作流运行的权限非常有限,无法访问文件系统。您需要确保可以写入指定的目录(听起来好像可以)

让我知道这是否有帮助


编辑:我的经验是使用CRM 4.0,因此我会根据需要调整路径。

重新阅读,似乎唯一的区别是我的在\Server\bin中,而你的在\Server中。3.0是否有\Server\bin目录?我的任何CRM 4.0文件夹中都没有AssemblyInfo.cs。是否还有其他地方需要定义配置文件的位置?assemblyinfo.cs文件将是c#项目的一部分,位于“属性”下。我猜没有指定任何内容,它将在Server\bin目录中查找。3.0是否只有\Server\assembly而没有bin文件夹?您可以尝试\Server目录来放置配置。您还可以尝试显式调用log4net.Config.XmlConfigurator.Configure重载中的一个,因为您觉得在插件中最方便。如果parameterless没有帮助,请尝试指定FileInfo参数。我最终调用了configure方法。非常感谢你的帮助。我还有一个关于StackOverflow的crm问题,如果您想尝试一下,这个问题仍然悬而未决。