2

我如何在sharepoint中执行登录。我想使用跟踪。

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

4

5 回答 5

3

微软提供了一个例子:

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");

中央管理中的事件限制设置仍将采用这种方法。

于 2009-05-30T23:57:17.947 回答
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 模块应始终首先执行。

于 2009-05-31T04:44:13.973 回答
1

(SharePoint 2007?)从 Central Admin 转到 Operations->Diagnostic Logging,“跟踪日志”和“事件限制”就是您要查找的内容。

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

于 2009-05-29T13:34:57.663 回答
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

于 2009-05-31T16:36:46.997 回答
0

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

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

于 2009-05-30T15:40:18.120 回答