Condividi tramite


DatabaseLogFormatter Classe

Definizione

Questo è il formattatore di log predefinito utilizzato quando alcuni Action<T> sono impostati sulla Log proprietà . Un formattatore diverso può essere usato creando una classe che eredita da questa classe ed esegue l'override di alcuni o tutti i metodi per modificare il comportamento.

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
Ereditarietà
DatabaseLogFormatter
Implementazioni

Commenti

Per impostare il nuovo formattatore, creare una configurazione basata su codice per EF usando DbConfiguration e quindi impostare la classe formattatore da usare con SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>). Si noti che l'impostazione del tipo di formattatore da usare con questo metodo modifica il modo in cui il comando viene registrato quando Log viene usato. È comunque necessario impostare un oggetto Action<T> su Log prima che tutti i comandi vengano registrati. Per un maggiore controllo di basso livello sulla registrazione/intercettazione, vedere IDbCommandInterceptor e DbInterception. Gli intercettori possono anche essere registrati nel file di configurazione dell'applicazione. Per altre informazioni sulla configurazione di Entity Framework, vedere http://go.microsoft.com/fwlink/?LinkId=260883 .

Costruttori

DatabaseLogFormatter(Action<String>)

Crea un formattatore che non filtra in base ad alcun DbContext oggetto e registra invece ogni comando da qualsiasi contesto e anche i comandi che non hanno origine da un contesto.

DatabaseLogFormatter(DbContext, Action<String>)

Crea un formattatore che registra solo i comandi provenienti dall'istanza specificata DbContext .

Proprietà

Context

Contesto per il quale vengono registrati i comandi oppure null se vengono registrati comandi da tutti i contesti.

Stopwatch
Obsoleti.

Questa proprietà è obsoleta. L'uso può comportare la registrazione di tempi di esecuzione non corretti. In alternativa, chiamare GetStopwatch(DbCommandInterceptionContext).

Metodi

BeganTransaction(DbConnection, BeginTransactionInterceptionContext)

Chiamato dopo BeginTransaction(IsolationLevel) che viene richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento.

BeginningTransaction(DbConnection, BeginTransactionInterceptionContext)

Non scrive nel log a meno che non venga sottoposto a override.

Closed(DbConnection, DbConnectionInterceptionContext)

Chiamato dopo Close() che viene richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento.

Closing(DbConnection, DbConnectionInterceptionContext)

Non scrive nel log a meno che non venga sottoposto a override.

Committed(DbTransaction, DbTransactionInterceptionContext)

Questo metodo viene chiamato dopo Commit() essere stato richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento.

Committing(DbTransaction, DbTransactionInterceptionContext)

Non scrive nel log a meno che non venga sottoposto a override.

ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Non scrive nel log a meno che non venga sottoposto a override.

ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Non scrive nel log a meno che non venga sottoposto a override.

ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>)

Non scrive nel log a meno che non venga sottoposto a override.

ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>)

Non scrive nel log a meno che non venga sottoposto a override.

ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Non scrive nel log a meno che non venga sottoposto a override.

ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Non scrive nel log a meno che non venga sottoposto a override.

ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>)

Non scrive nel log a meno che non venga sottoposto a override.

ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>)

Non scrive nel log a meno che non venga sottoposto a override.

DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>)

Non scrive nel log a meno che non venga sottoposto a override.

DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>)

Non scrive nel log a meno che non venga sottoposto a override.

DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>)

Non scrive nel log a meno che non venga sottoposto a override.

DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>)

Non scrive nel log a meno che non venga sottoposto a override.

Disposed(DbConnection, DbConnectionInterceptionContext)

Non scrive nel log a meno che non venga sottoposto a override.

Disposed(DbTransaction, DbTransactionInterceptionContext)

Non scrive nel log a meno che non venga sottoposto a override.

Disposing(DbConnection, DbConnectionInterceptionContext)

Chiamato prima Dispose() di essere richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento.

Disposing(DbTransaction, DbTransactionInterceptionContext)

Questo metodo viene chiamato prima di Dispose() essere richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento.

EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext)

Non scrive nel log a meno che non venga sottoposto a override.

EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext)

Non scrive nel log a meno che non venga sottoposto a override.

Equals(Object)

Questo è il formattatore di log predefinito utilizzato quando alcuni Action<T> sono impostati sulla Log proprietà . Un formattatore diverso può essere usato creando una classe che eredita da questa classe ed esegue l'override di alcuni o tutti i metodi per modificare il comportamento.

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

Chiamato ogni volta che un comando ha completato l'esecuzione. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi chiama LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Questo metodo in genere viene sottoposto a override solo per modificare il comportamento di filtro del contesto.

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

Chiamato ogni volta che un comando sta per essere eseguito. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi chiama LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Questo metodo in genere viene sottoposto a override solo per modificare il comportamento di filtro del contesto.

GetHashCode()

Questo è il formattatore di log predefinito utilizzato quando alcuni Action<T> sono impostati sulla Log proprietà . Un formattatore diverso può essere usato creando una classe che eredita da questa classe ed esegue l'override di alcuni o tutti i metodi per modificare il comportamento.

GetStopwatch(DbCommandInterceptionContext)

Controllo di arresto usato per l'ora delle esecuzioni. Questo controllo di arresto viene avviato alla fine dei NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)metodi , ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)e ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) e viene arrestato all'inizio dei NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)metodi , ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)e ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) . Se questi metodi vengono sottoposti a override e viene usato il controllo di arresto, gli override devono chiamare il metodo di base o avviare/arrestare il controllo di arresto stesso.

GetType()

Questo è il formattatore di log predefinito utilizzato quando alcuni Action<T> sono impostati sulla Log proprietà . Un formattatore diverso può essere usato creando una classe che eredita da questa classe ed esegue l'override di alcuni o tutti i metodi per modificare il comportamento.

IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Non scrive nel log a meno che non venga sottoposto a override.

IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Non scrive nel log a meno che non venga sottoposto a override.

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

Chiamato per registrare un comando che sta per essere eseguito. Eseguire l'override di questo metodo per modificare la modalità di registrazione del comando in System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction.

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

Chiamato da LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) per registrare ogni parametro. Questo metodo può essere chiamato da un'implementazione sottoposta a override di LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) a parametri di log e/o può essere sottoposto a override per modificare il modo in cui i parametri vengono registrati in System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction.

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

Chiamato per registrare il risultato dell'esecuzione di un comando. Eseguire l'override di questo metodo per modificare la modalità di registrazione dei risultati in System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction.

NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)

Questo metodo viene chiamato dopo una chiamata a ExecuteNonQuery() o una delle relative controparti asincrone. L'implementazione predefinita arresta il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext) e chiama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)

Questo metodo viene chiamato prima che venga effettuata una chiamata a ExecuteNonQuery() o una delle relative controparti asincrone. L'implementazione predefinita chiama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e avvia il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext).

Opened(DbConnection, DbConnectionInterceptionContext)

Chiamato dopo Open() o la relativa controparte asincrona viene richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento.

Opening(DbConnection, DbConnectionInterceptionContext)

Non scrive nel log a meno che non venga sottoposto a override.

ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Questo metodo viene chiamato dopo una chiamata a ExecuteReader(CommandBehavior) o una delle relative controparti asincrone. L'implementazione predefinita arresta il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext) e chiama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Questo metodo viene chiamato prima che venga effettuata una chiamata a ExecuteReader(CommandBehavior) o una delle relative controparti asincrone. L'implementazione predefinita chiama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e avvia il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext).

RolledBack(DbTransaction, DbTransactionInterceptionContext)

Questo metodo viene chiamato dopo Rollback() essere stato richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento.

RollingBack(DbTransaction, DbTransactionInterceptionContext)

Non scrive nel log a meno che non venga sottoposto a override.

ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)

Questo metodo viene chiamato dopo una chiamata a ExecuteScalar() o una delle relative controparti asincrone. L'implementazione predefinita arresta il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext) e chiama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)

Questo metodo viene chiamato prima che venga effettuata una chiamata a ExecuteScalar() o una delle relative controparti asincrone. L'implementazione predefinita chiama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e avvia il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext).

ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>)

Non scrive nel log a meno che non venga sottoposto a override.

ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>)

Non scrive nel log a meno che non venga sottoposto a override.

StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Non scrive nel log a meno che non venga sottoposto a override.

StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Non scrive nel log a meno che non venga sottoposto a override.

ToString()

Questo è il formattatore di log predefinito utilizzato quando alcuni Action<T> sono impostati sulla Log proprietà . Un formattatore diverso può essere usato creando una classe che eredita da questa classe ed esegue l'override di alcuni o tutti i metodi per modificare il comportamento.

Write(String)

Scrive la stringa specificata nel delegato di scrittura sottostante.

Si applica a