Dan*_*mov 4 sharepoint configuration logging nlog nlog-configuration
我被分配了一个项目,其中包含大量基于SharePoint的编写不良的代码.
它由大约15个子项目组成,其中一些是Windows服务,一些是Web服务,一些是在SharePoint内部运行的Web应用程序,一些是webparts甚至是控制台应用程序.它们都在同一台服务器上运行并相互调用.
生产中已经存在许多问题,但很难追查.
最初的开发者必须是塞林格或神奇宝贝系列的粉丝,因为他不遗余力地捕捉所有例外情况.不幸的是,它们都没有被报告或记录过.
我当前的任务是将日志记录引入整个项目,这样我就可以找到现在看不见的异常,跟随纠结的重复调用,至少有一些堆栈跟踪.我决定和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>
Run Code Online (Sandbox Code Playgroud)
除了(或代替)记录到数据库之外,您当然可以记录到文件.
我不熟悉从SharePoint执行此操作,因此我无法对您可能遇到的任何配置或权限问题发表评论.
以下是我发现的一个链接,其中讨论了如何让NLog在SharePoint环境中工作:
http://nlog-forum.1685105.n2.nabble.com/Is-anyone-using-NLog-with-SharePoint-td2171451.html
该链接似乎将您置于NLog论坛的顶部,而不是特定的帖子.在论坛"是否有人使用NLog与SharePoint"中搜索此文本,您应该找到正确的帖子.
祝好运!
| 归档时间: |
|
| 查看次数: |
2927 次 |
| 最近记录: |