WriteException メソッド (My.Application.Log および My.Log)
更新 : 2007 年 11 月
例外情報をアプリケーションのログ リスナに書き込みます。
' Usage
My.Application.Log.WriteException(ex)
My.Application.Log.WriteException(ex ,severity ,additionalInfo)
My.Application.Log.WriteException(ex ,severity ,additionalInfo ,id)
' Web usage
My.Log.WriteException(ex)
My.Log.WriteException(ex ,severity ,additionalInfo)
My.Log.WriteException(ex ,severity ,additionalInfo ,id)
' Declaration
Public Sub WriteException( _
ByVal ex As System.Exception _
)
' -or-
Public Sub WriteException( _
ByVal ex As System.Exception, _
ByVal severity As System.Diagnostics.TraceEventType, _
ByVal additionalInfo As String _
)
' -or-
Public Sub WriteException( _
ByVal ex As System.Exception, _
ByVal severity As System.Diagnostics.TraceEventType, _
ByVal additionalInfo As String, _
ByVal id As Integer _
)
パラメータ
ex
必ず指定します。ログに記録する例外を指定します。severity
メッセージの種類を指定します。既定では Error です。additionalInfo
メッセージに付け加える文字列を指定します。既定では、空の文字列になります。id
相関に使用されるメッセージ ID を指定します。既定では、「解説」の表に示されているとおり entryType に関連付けられます。
例外
次の条件では例外が発生します。
例外またはメッセージの種類が Nothing である (ArgumentNullException)。
メッセージの種類が TraceEventType 列挙値のどれでもない (InvalidEnumArgumentException)。
部分信頼を持つコードがこのメソッドを呼び出して、完全信頼を必要とするイベント ログ リスナに書き込みを行っている (SecurityException)。
解説
WriteException メソッドは、例外に含まれている情報をアプリケーションのイベント ログ リスナに書き込みます。
クライアント アプリケーションでは、My.Application.Log オブジェクトを通じて Log オブジェクトにアクセスできます。Web アプリケーションでは、My.Log オブジェクトを通じて Log オブジェクトにアクセスできます。
どのログ リスナが WriteException メソッドのメッセージを受信するかについては、「チュートリアル : My.Application.Log による情報の書き込み先の確認」を参照してください。既定のログ リスナは変更可能です。詳細については、「Visual Basic でのアプリケーション ログの使用」を参照してください。
id 引数を使用しないオーバーロードでは、ログに書き込まれる ID は次の表によって定義されます。
severity |
既定の id |
---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
処理手順
WriteException メソッドに関連するタスクの例を次の表に示します。
目的 |
参照項目 |
---|---|
例外情報をアプリケーションのイベント ログ リスナに書き込む |
|
Log が情報をどこに書き込むかを調べる |
使用例
この例は、My.Application.Log.WriteException メソッドを使用して例外をログに記録する方法を示しています。NullReferenceException 例外を発生させるには、Dim 行と MsgBox 行をコメントから外してください。詳細については、「方法 : Visual Basic で例外をログに記録する」を参照してください。
Public Sub ExceptionLogTest(ByVal fileName As String)
Try
' Code that might generate an exception goes here.
' For example:
' Dim x As Object
' MsgBox(x.ToString)
Catch ex As Exception
My.Application.Log.WriteException(ex, _
TraceEventType.Error, _
"Exception in ExceptionLogTest " & _
"with argument " & fileName & ".")
End Try
End Sub
このコード例は、クライアント アプリケーション内でのみ実行できます。Web アプリケーションの場合は、My.Application.Log.WriteException を My.Log.WriteException に変更します。
必要条件
名前空間 : Microsoft.VisualBasic.Logging
クラス : Log
アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)
プロジェクトの種類ごとの可用性
プロジェクトの種類 |
可用性 |
---|---|
Windows アプリケーション |
可 |
クラス ライブラリ |
可 |
コンソール アプリケーション |
可 |
Windows コントロール ライブラリ |
可 |
Web コントロール ライブラリ |
不可 |
Windows サービス |
可 |
Web サイト |
可 |
アクセス許可
次のアクセス許可が必要です。
アクセス許可 |
説明 |
---|---|
ファイルとフォルダへのアクセス許可を制御します。関連する列挙値 : Unrestricted。 |
詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。
参照
処理手順
チュートリアル : My.Application.Log による情報の書き込み先の確認