我们正在将 Web 部件部署到 SharePoint 2007 并希望包括日志记录 (log4net)。理想的解决方案是使用数据库附加程序来避免知道哪个实际服务器正在执行 Web 部件的问题。

这个问题很有帮助: SharePoint and Log4Net

我已经让 log4net 在使用 Visual Studio 开发服务器的独立 Web 应用程序中工作,使用 web.config 作为 log4net 设置和一个文件附加器作为输出。我想转换到 SharePoint 并仍然使用日志文件输出,这样我可以先确保一切正常,然后更改配置以登录到数据库。

这会不会太麻烦了?其他开发人员如何将 log4.net 添加到他们的 SharePoint 解决方案中?使用数据库是将日志输出关联到服务器的唯一好的解决方案吗?

更新:我们已经实现了 Log4Net,它在一定程度上起作用了。 SharePoint 的安全模型使得配置必要的权限更加困难。在我们的例子中,我们看到在某些情况下消息不会进入日志文件。我们在作为给定帐户运行的 Web 服务中使用了日志记录代码。当我们让它作为开发者运行时,例如'us\bob' 并且该开发人员使用一个页面调用 Web 服务,然后将消息写入日志文件。另一个 Unresolved 问题是如何考虑写入系统使用的日志目录(即 IIS 日志或 SharePoint 日志)所需的权限。

最佳答案

切换配置以使用数据库附加程序当然很容易。您需要决定如何连接到数据库:集成身份验证与 SQL Server 登录,但两者都易于配置。

我建议将 log4net 部署为单独的解决方案,因为 Sharepoint 不跟踪对程序集的依赖关系。这同样适用于您的解决方案将使用的其他“核心”程序集。看看这个问题 here

关于logging - SharePoint 场中的协调日志记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2702612/

10-17 02:19