次の方法で共有


DatabaseLogFormatter クラス

定義

これは、一部 Action<T> が プロパティに設定されている場合に使用される既定の Log ログ フォーマッタです。 別のフォーマッタを使用するには、このクラスから継承し、一部またはすべてのメソッドをオーバーライドして動作を変更するクラスを作成します。

public class DatabaseLogFormatter : System.Data.Entity.Infrastructure.Interception.IDbCommandInterceptor, System.Data.Entity.Infrastructure.Interception.IDbConnectionInterceptor, System.Data.Entity.Infrastructure.Interception.IDbTransactionInterceptor
type DatabaseLogFormatter = class
    interface IDbCommandInterceptor
    interface IDbConnectionInterceptor
    interface IDbTransactionInterceptor
    interface IDbInterceptor
Public Class DatabaseLogFormatter
Implements IDbCommandInterceptor, IDbConnectionInterceptor, IDbTransactionInterceptor
継承
DatabaseLogFormatter
実装

注釈

新しいフォーマッタを設定するには、 を使用して DbConfiguration EF のコードベースの構成を作成し、 で SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>)使用するようにフォーマッタ クラスを設定します。 このメソッドで使用するフォーマッタの種類を設定すると、 が使用されるときに Log コマンドがログに記録される方法が変更されることに注意してください。 コマンドがログに記録される前に、 を Action<T>Log 設定する必要があります。 ログ記録/インターセプトに対するより低レベルの制御については、 と DbInterceptionを参照してくださいIDbCommandInterceptor。 インターセプターは、アプリケーションの構成ファイルに登録することもできます。 Entity Framework の構成の詳細については、「」を参照してください http://go.microsoft.com/fwlink/?LinkId=260883 。

コンストラクター

DatabaseLogFormatter(Action<String>)

フィルター DbContext 処理を行わないフォーマッタを作成し、代わりに任意のコンテキストからすべてのコマンドと、コンテキストから生成されないコマンドもログに記録します。

DatabaseLogFormatter(DbContext, Action<String>)

指定 DbContext されたインスタンスからのコマンドのみをログに記録するフォーマッタを作成します。

プロパティ

Context

コマンドがログに記録されるコンテキスト。すべてのコンテキストのコマンドがログに記録されている場合は null。

Stopwatch
古い.

このプロパティは今後使用しません。 これを使用すると、間違った実行時間がログに記録される可能性があります。 代わりに GetStopwatch(DbCommandInterceptionContext) を呼び出してください。

メソッド

BeganTransaction(DbConnection, BeginTransactionInterceptionContext)

が呼び出された後 BeginTransaction(IsolationLevel) に呼び出されます。 このメソッドの既定の実装では、 を にContext設定してDbContextフィルター処理し (ある場合)、イベントをログに記録します。

BeginningTransaction(DbConnection, BeginTransactionInterceptionContext)

オーバーライドされない限り、ログに書き込まれません。

Closed(DbConnection, DbConnectionInterceptionContext)

が呼び出された後 Close() に呼び出されます。 このメソッドの既定の実装では、 を にContext設定してDbContextフィルター処理し (ある場合)、イベントをログに記録します。

Closing(DbConnection, DbConnectionInterceptionContext)

オーバーライドされない限り、ログに書き込まれません。

Committed(DbTransaction, DbTransactionInterceptionContext)

このメソッドは、 が呼び出された後に Commit() 呼び出されます。 このメソッドの既定の実装では、 を にContext設定してDbContextフィルター処理し (ある場合)、イベントをログに記録します。

Committing(DbTransaction, DbTransactionInterceptionContext)

オーバーライドされない限り、ログに書き込まれません。

ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

オーバーライドされない限り、ログに書き込まれません。

ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

オーバーライドされない限り、ログに書き込まれません。

ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>)

オーバーライドされない限り、ログに書き込まれません。

ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>)

オーバーライドされない限り、ログに書き込まれません。

ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>)

オーバーライドされない限り、ログに書き込まれません。

ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>)

オーバーライドされない限り、ログに書き込まれません。

ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>)

オーバーライドされない限り、ログに書き込まれません。

ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>)

オーバーライドされない限り、ログに書き込まれません。

DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>)

オーバーライドされない限り、ログに書き込まれません。

DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>)

オーバーライドされない限り、ログに書き込まれません。

DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>)

オーバーライドされない限り、ログに書き込まれません。

DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>)

オーバーライドされない限り、ログに書き込まれません。

Disposed(DbConnection, DbConnectionInterceptionContext)

オーバーライドされない限り、ログに書き込まれません。

Disposed(DbTransaction, DbTransactionInterceptionContext)

オーバーライドされない限り、ログに書き込まれません。

Disposing(DbConnection, DbConnectionInterceptionContext)

が呼び出される前に Dispose() 呼び出されます。 このメソッドの既定の実装では、 を にContext設定してDbContextフィルター処理し (ある場合)、イベントをログに記録します。

Disposing(DbTransaction, DbTransactionInterceptionContext)

このメソッドは、呼び出される前に Dispose() 呼び出されます。 このメソッドの既定の実装では、 を にContext設定してDbContextフィルター処理し (ある場合)、イベントをログに記録します。

EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext)

オーバーライドされない限り、ログに書き込まれません。

EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext)

オーバーライドされない限り、ログに書き込まれません。

Equals(Object)

これは、一部 Action<T> が プロパティに設定されている場合に使用される既定の Log ログ フォーマッタです。 別のフォーマッタを使用するには、このクラスから継承し、一部またはすべてのメソッドをオーバーライドして動作を変更するクラスを作成します。

Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

コマンドの実行が完了するたびに呼び出されます。 このメソッドの既定の実装では、 を にContext設定してDbContextフィルター処理し 、ある場合は を呼び出LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)します。 このメソッドは、通常、コンテキスト フィルター処理の動作を変更するためにのみオーバーライドされます。

Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

コマンドが実行されようとするたびに呼び出されます。 このメソッドの既定の実装では、 を にContext設定してDbContextフィルター処理し 、ある場合は を呼び出LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)します。 このメソッドは、通常、コンテキスト フィルター処理の動作を変更するためにのみオーバーライドされます。

GetHashCode()

これは、一部 Action<T> が プロパティに設定されている場合に使用される既定の Log ログ フォーマッタです。 別のフォーマッタを使用するには、このクラスから継承し、一部またはすべてのメソッドをオーバーライドして動作を変更するクラスを作成します。

GetStopwatch(DbCommandInterceptionContext)

実行の時間を設定するために使用されるストップウォッチ。 このストップウォッチは、および ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) メソッドのScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)末尾で開始され、および ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) メソッドのNonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)先頭で停止されます。 これらのメソッドがオーバーライドされ、ストップウォッチが使用されている場合、オーバーライドは基本メソッドを呼び出すか、ストップウォッチ自体を開始/停止する必要があります。

GetType()

これは、一部 Action<T> が プロパティに設定されている場合に使用される既定の Log ログ フォーマッタです。 別のフォーマッタを使用するには、このクラスから継承し、一部またはすべてのメソッドをオーバーライドして動作を変更するクラスを作成します。

IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

オーバーライドされない限り、ログに書き込まれません。

IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

オーバーライドされない限り、ログに書き込まれません。

LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

実行されようとしているコマンドをログに記録するために呼び出されます。 コマンドのログ記録方法を に変更するには、このメソッドを System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActionオーバーライドします。

LogParameter<TResult>(DbCommand, DbCommandInterceptionContext<TResult>, DbParameter)

各パラメーターをログに記録するために によって LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) 呼び出されます。 このメソッドは、 の LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) オーバーライドされた実装からログ パラメーターに呼び出すことができます。また、パラメーターのログ System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActionの記録方法を に変更するためにオーバーライドすることもできます。

LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

コマンドを実行した結果をログに記録するために呼び出されます。 結果を に記録する方法を変更するには、このメソッドを System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActionオーバーライドします。

NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)

このメソッドは、 またはその非同期に対応する呼び出しが行われた後に呼び出 ExecuteNonQuery() されます。 既定の実装では、 から GetStopwatch(DbCommandInterceptionContext) 返されたストップウォッチを停止し、 を呼び出します Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)

このメソッドは、 またはその非同期に対応する呼び出しが行われる前に呼び出 ExecuteNonQuery() されます。 既定の実装は を呼び出 Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) し、 から返されたストップウォッチを GetStopwatch(DbCommandInterceptionContext)開始します。

Opened(DbConnection, DbConnectionInterceptionContext)

が呼び出された後 Open() に呼び出されるか、その非同期に対応する が呼び出されます。 このメソッドの既定の実装では、 を にContext設定してDbContextフィルター処理し (ある場合)、イベントをログに記録します。

Opening(DbConnection, DbConnectionInterceptionContext)

オーバーライドされない限り、ログに書き込まれません。

ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>)

このメソッドは、 またはその非同期に対応する呼び出しが行われた後に呼び出 ExecuteReader(CommandBehavior) されます。 既定の実装では、 から GetStopwatch(DbCommandInterceptionContext) 返されたストップウォッチを停止し、 を呼び出します Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>)

このメソッドは、 またはその非同期に対応する呼び出しが行われる前に呼び出 ExecuteReader(CommandBehavior) されます。 既定の実装は を呼び出 Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) し、 から返されたストップウォッチを GetStopwatch(DbCommandInterceptionContext)開始します。

RolledBack(DbTransaction, DbTransactionInterceptionContext)

このメソッドは、 が呼び出された後に Rollback() 呼び出されます。 このメソッドの既定の実装では、 を にContext設定してDbContextフィルター処理し (ある場合)、イベントをログに記録します。

RollingBack(DbTransaction, DbTransactionInterceptionContext)

オーバーライドされない限り、ログに書き込まれません。

ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)

このメソッドは、 またはその非同期に対応する呼び出しが行われた後に呼び出 ExecuteScalar() されます。 既定の実装では、 から GetStopwatch(DbCommandInterceptionContext) 返されたストップウォッチを停止し、 を呼び出します Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)

このメソッドは、 またはその非同期に対応する呼び出しが行われる前に呼び出 ExecuteScalar() されます。 既定の実装は を呼び出 Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) し、 から返されたストップウォッチを GetStopwatch(DbCommandInterceptionContext)開始します。

ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>)

オーバーライドされない限り、ログに書き込まれません。

ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>)

オーバーライドされない限り、ログに書き込まれません。

StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

オーバーライドされない限り、ログに書き込まれません。

StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

オーバーライドされない限り、ログに書き込まれません。

ToString()

これは、一部 Action<T> が プロパティに設定されている場合に使用される既定の Log ログ フォーマッタです。 別のフォーマッタを使用するには、このクラスから継承し、一部またはすべてのメソッドをオーバーライドして動作を変更するクラスを作成します。

Write(String)

指定された文字列を基になる書き込みデリゲートに書き込みます。

適用対象