共享点记录/跟踪

时间:2009-05-29 13:20:43

标签: sharepoint logging trace

如何在sharepoint中执行日志记录。我想使用跟踪。

以便它登录12个配置单元日志。

5 个答案:

答案 0 :(得分:3)

Microsoft提供了一个示例:

http://msdn.microsoft.com/en-us/library/aa979522.aspx

此示例使用本机跟踪方法写入ULS日志,因此代码中使用了一些pInvoke。

然后,您可以在代码中控制日志记录事件的类型,例如:

TraceProvider.WriteTrace(0, TraceProvider.TraceSeverity.High, Guid.Empty, "MyExeName", "Product Name", "Category Name", "Sample Message");

中央管理员的事件限制设置仍将遵循此方法。

答案 1 :(得分:2)

我首选的方法是编写自定义HttpModule来捕获并记录所有错误。记录错误后,您可以将用户重定向到错误页面 - 这是我在SharePoint中最常用于自定义错误处理的方法。

在您的HttpModule中,您可以使用Daniel描述的方法将异常写入ULS日志。

这是一个简单的例子:

创建一个实现IHttpModule的类,并在Http管道中连接相应的事件:

public void Init(HttpApplication context)
{
    context.Error += new EventHandler(context_Error);
}

在context_Error事件中,查看所有错误并记录它们......

void context_Error(object sender, EventArgs e)
{
    TraceProvider.RegisterTraceProvider();

    foreach (var ex in HttpContext.Current.AllErrors)
    {

        TraceProvider.WriteTrace(0,
            TraceProvider.TraceSeverity.Exception,
            Guid.NewGuid(),
            Assembly.GetExecutingAssembly().FullName,
            "<your application name>",
            "<exception category>",
            ex.ToString());
    }

    TraceProvider.UnregisterTraceProvider();

    HttpContext.Current.Server.ClearError();
    HttpContext.Current.Response.Clear();
    HttpContext.Current.Server.Transfer("/_layouts/Error500.aspx");
}

您当然必须将这一切都包含在一个功能(在Web应用程序级别范围内)并将其部署到SharePoint。

请注意,此自定义错误http模块的web.config部分中的条目需要在列表中排在第一位。部分中列出http模块的顺序很重要,自定义错误http模块应始终先执行。

答案 2 :(得分:1)

(SharePoint 2007?)从中央管理员,转到操作 - &gt;诊断日志记录,“跟踪日志”和“事件限制”是您正在寻找的。

在“事件限制”中选择一个类别,并为事件和跟踪日志选择最不严重的错误。然后,选择跟踪日志的路径(我的默认值为..12 \ LOGS)并提供最大日志数和使用每个日志文件的分钟数。

答案 3 :(得分:0)

我写了一些博客文章,可以帮到你。我建议使用BCL日志记录类(System.Diagnostics)并创建一个写入SharePoint ULS日志的自定义TraceListner。

http://sharepoint.nailhead.net/2008/04/instrumentation-logging-for-sharepoint.html

答案 4 :(得分:0)

如果您使用的是MOSS,可以使用:

Microsoft.Office.Server.Diagnostics.PortalLog.LogString("Message");

请记住,根据Microsoft文档 - LogString保留供内部使用,不能直接在您的代码中使用。

有关详细信息,请参阅此链接 -

https://msdn.microsoft.com/en-us/library/office/microsoft.office.server.diagnostics.portallog_members.aspx