2009-05-29 15 views

答えて

1

(SharePoint 2007?)Central Adminから、Operations-> Diagnostic Loggingに移動します。「トレースログ」と「イベントスロットル」は、探しているものです。

「イベント調整」でカテゴリを選択し、イベントログとトレースログの両方で重要度の最も低いエラーを選択します。次に、トレースログのパス(デフォルトは..12 \ LOGS)を選択し、最大ログ数と各ログファイルを使用する分数を指定します。

+0

を私はweb.configファイルに何も追加する必要がありますか? 私はちょうどTrace.WriteLine( "コメント")のようなものを言うことができるようにしたいです。 – raklos

+0

ああ!あなたのコードから*ログに書き込む*したいですか?ここにmsdnの例があります: http://msdn.microsoft.com/en-us/library/aa979522.aspx – vinny

3

マイクロソフト例提供:このサンプル

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

をそれほどのPInvokeのビットはコードで使用され、ネイティブトレースメソッドを使用してULSログに書き込みます。

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

中央管理者の設定を絞るイベントがまだこのアプローチで表彰されます。

あなたは、その後のようなあなたのコード内でロギングイベントの種類を制御することができます。

2

私の好みの方法は、すべてのエラーをトラップしてログに記録するためのカスタムHttpModuleを作成することです。エラーを記録した後、ユーザーをエラーページにリダイレクトすることができます。これは、SharePointでのカスタムエラー処理に最もよく使用されているアプローチです。

HttpModuleでは、Danielが記述したようなアプローチを使用して、例外をULSログに書き込むことができます。ここで

は、これを行う簡単な例です:すべてを通過し、context_Errorイベントで

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

はのIHttpModuleを実装するクラス、およびHTTPパイプラインの適切なイベントまでのワイヤを作成しますエラーとそれらをログ...もちろん

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モジュールが常に最初に実行されるべきです。

0

you'reは、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

関連する問題