gpt4 book ai didi

sharepoint - 使用 NLog 集中日志记录的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 22:51:21 28 4
gpt4 key购买 nike

我被分配了一个项目,其中包含许多基于 SharePoint 的编写不佳的代码。

它由大约 15 个子项目组成,其中一些是 Windows 服务、一些 Web 服务、一些在 SharePoint 内部运行的 Web 应用程序,一些是 Web 部件甚至控制台应用程序。它们都运行在同一台服务器上并相互调用。

生产中已经有很多问题,但很难追查。
从他对捕捉所有异常的不懈努力来看,最初的开发者一定是塞林格或神奇宝贝系列的粉丝。不幸的是,他们从来没有被报告或记录过。

我当前的任务是在整个项目中引入日志记录,以便我可以找到现在不可见的异常,跟踪纠结的重复调用并至少有一些堆栈跟踪。我决定和NLog一起去,看到它的活跃和酷,而不是log4net这非常好,但有点不合我的口味。

由于组件紧密耦合,我希望将日志记录集中在一个文件中,这样相关的错误就不会分散在整个硬盘驱动器上。因此,我希望有两个或三个不同的日志文件,其中有五个或更多项目或多或少地同时写入每个文件。

配置 NLog 以集中日志记录的最佳方法是什么? 我应该为每个项目都有一个配置文件,还是相关项目应该共享它们?我应该在哪里放置配置文件以从 SharePoint webparts 登录?我会面临任何许可问题吗?

我正在使用 SharePoint 2007。

最佳答案

最简单的集中方式可能是简单地登录到数据库,一个好处是多个应用程序和写入数据库比写入同一个日志文件更容易。对于每个应用程序,配置 NLog 以登录到数据库目标,并为每个应用程序使用相同的数据库目标配置参数。您的 NLog.config 文件可能如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<!--
This file needs to be put in the application directory. Make sure to set
'Copy to Output Directory' option in Visual Studio.
-->
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
internalLogLevel="Debug"
internalLogFile="nlog_log.log">


<targets async="true">
<target name="sqlexpress" xsi:type="Database">
<connectionString>
Data Source=.\SQLEXPRESS;Initial Catalog=LoggingDB;Integrated Security=True;
</connectionString>
<commandText>
insert into LogTable(DateTime,Logger,LogLevel,Message,ProcessId,ManagedThreadId) values (@DateTime,@Logger,@LogLevel,@Message,@ProcessId,@ManagedThreadId);
</commandText>
<parameter name="@DateTime" layout="${date:format=yyyy\-MM\-dd HH\:mm\:ss.fff}"/>
<parameter name="@Logger" layout="${logger}"/>
<parameter name="@LogLevel" layout="${level}"/>
<parameter name="@Message" layout="${message}"/>
</target>

</target>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="sqlexpress" />
</rules>
</nlog>

除了(或代替)记录到数据库之外,您当然可以记录到文件。

我不熟悉从 SharePoint 执行此操作,因此我无法评论您可能在其中遇到的任何配置或权限问题。

这是我找到的一个链接,其中讨论了让 NLog 在 SharePoint 环境中工作:

http://nlog-forum.1685105.n2.nabble.com/Is-anyone-using-NLog-with-SharePoint-td2171451.html

该链接似乎将您置于 NLog 论坛的顶部,而不是特定帖子。在论坛“是否有人将 NLog 与 SharePoint 一起使用”中搜索此文本,您应该会找到正确的帖子。

祝你好运!

关于sharepoint - 使用 NLog 集中日志记录的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4935579/

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