2009-05-29 5 views
2

어떻게 셰어 포인트에서 로깅을 수행 할 수 있습니까? 나는 추적을 사용하고 싶다.셰어 포인트 로깅/추적

12 개의 하이브 로그에 로그인합니다.

답변

1

(SharePoint 2007?) 중앙 관리에서 운영 -> 진단 로깅으로 이동하십시오. "추적 로그"및 "이벤트 제한"이 원하는 것입니다.

"이벤트 조절"에서 범주를 선택하고 이벤트 및 추적 로그 모두에 대해 최악의 오류를 선택하십시오. 그런 다음 추적 로그의 경로를 선택하고 (기본적으로 ..12 \ LOGS) 최대 로그 수와 각 로그 파일을 사용할 시간 (분)을 제공하십시오.

+0

내가 Web.config의 아무것도를 추가해야 할 - 자세한 내용은

은이 링크를 참조? 나는 Trace.WriteLine ("comment")과 같은 것을 말할 수 있기를 원한다. – raklos

+0

아! 코드에서 로그에 * 쓰기를 원하십니까? 다음은 msdn 예제입니다. http://msdn.microsoft.com/en-us/library/aa979522.aspx – vinny

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

중앙 관리에서 설정을 조절 이벤트가 계속이 방법으로 인정 될 수 없습니다 :

당신은 다음과 같은 코드에 로깅 이벤트의 유형을 제어 할 수 있습니다.

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

는 (웹 응용 프로그램 수준에서 범위) 기능으로 모든 걸 포기하고이 포장 및 SharePoint에 배포해야합니다.

이 사용자 정의 오류 http 모듈에 대한 web.config 섹션의 항목이 목록에서 첫 번째 여야합니다. http 모듈이 문제의 섹션에 나열된 순서와 사용자 정의 오류 http 모듈이 항상 먼저 실행되어야합니다.