我如何在sharepoint中执行登录。我想使用跟踪。
以便它记录 12 个配置单元日志。
微软提供了一个例子:
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");
中央管理中的事件限制设置仍将采用这种方法。
我首选的方法是编写一个自定义 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 模块应始终首先执行。
(SharePoint 2007?)从 Central Admin 转到 Operations->Diagnostic Logging,“跟踪日志”和“事件限制”就是您要查找的内容。
在“事件限制”中选择一个类别,并为事件和跟踪日志选择最不严重的错误。然后,选择跟踪日志的路径(我的默认为 ..12\LOGS)并提供最大日志数和使用每个日志文件的分钟数。
如果你使用的是 MOSS,你可以使用这个:
Microsoft.Office.Server.Diagnostics.PortalLog.LogString("Message");
请记住,根据 Microsoft 文档 - LogString 保留供内部使用,不打算直接从您的代码中使用。
有关更多详细信息,请参阅此链接 -
我写了一些博客文章来帮助你。我建议使用 BCL 日志记录类 (System.Diagnostics) 并创建一个写入 SharePoint ULS 日志的自定义 TraceListner。
http://sharepoint.nailhead.net/2008/04/instrumentation-logging-for-sharepoint.html