Idioma

DatabaseLogFormatter Classe

Definição

Esse é o formatador de log padrão usado quando alguns Action<T> são definidos na Log propriedade. Um formatador diferente pode ser usado criando uma classe que herda dessa classe e substitui alguns ou todos os métodos para alterar o 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
Herança
DatabaseLogFormatter
Implementações

Comentários

Para definir o novo formatador, crie uma configuração baseada em código para EF usando DbConfiguration e defina a classe de formatador para usar com SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>). Observe que definir o tipo de formatador a ser usado com esse método altera a maneira como o comando é registrado quando Log é usado. Ainda é necessário definir um Action<T> para Log antes que todos os comandos sejam registrados. Para obter mais controle de nível baixo sobre registro em log/interceptação, consulte IDbCommandInterceptor e DbInterception. Interceptores também podem ser registrados no arquivo de configuração do aplicativo. Consulte http://go.microsoft.com/fwlink/?LinkId=260883 mais informações sobre a configuração do Entity Framework.

Construtores

Nome Descrição
DatabaseLogFormatter(Action<String>)

Cria um formatador que não filtrará por nenhum DbContext e, em vez disso, registrará todos os comandos de qualquer contexto e também comandos que não se originam de um contexto.

DatabaseLogFormatter(DbContext, Action<String>)

Cria um formatador que só registrará comandos provenientes da instância fornecida DbContext .

Propriedades

Nome Descrição
Context

O contexto para o qual os comandos estão sendo registrados ou nulos se comandos de todos os contextos estiverem sendo registrados.

Stopwatch
Obsoleto.

Esta propriedade é obsoleta. Usá-lo pode resultar em tempos de execução incorretos em log. Chame GetStopwatch(DbCommandInterceptionContext) em seu lugar.

Métodos

Nome Descrição
BeganTransaction(DbConnection, BeginTransactionInterceptionContext)

Chamado depois BeginTransaction(IsolationLevel) é invocado. A implementação padrão desse método filtra por DbContext conjunto em Context, se houver, e, em seguida, registra o evento.

BeginningTransaction(DbConnection, BeginTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

Closed(DbConnection, DbConnectionInterceptionContext)

Chamado depois Close() é invocado. A implementação padrão desse método filtra por DbContext conjunto em Context, se houver, e, em seguida, registra o evento.

Closing(DbConnection, DbConnectionInterceptionContext)

Não grava no log, a menos que seja substituído.

Committed(DbTransaction, DbTransactionInterceptionContext)

Esse método é chamado depois Commit() de ser invocado. A implementação padrão desse método filtra por DbContext conjunto em Context, se houver, e, em seguida, registra o evento.

Committing(DbTransaction, DbTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Não grava no log, a menos que seja substituído.

ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Não grava no log, a menos que seja substituído.

ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>)

Não grava no log, a menos que seja substituído.

ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>)

Não grava no log, a menos que seja substituído.

DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

Disposed(DbConnection, DbConnectionInterceptionContext)

Não grava no log, a menos que seja substituído.

Disposed(DbTransaction, DbTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

Disposing(DbConnection, DbConnectionInterceptionContext)

Chamado antes Dispose() é invocado. A implementação padrão desse método filtra por DbContext conjunto em Context, se houver, e, em seguida, registra o evento.

Disposing(DbTransaction, DbTransactionInterceptionContext)

Esse método é chamado antes Dispose() de ser invocado. A implementação padrão desse método filtra por DbContext conjunto em Context, se houver, e, em seguida, registra o evento.

EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

Equals(Object)

Esse é o formatador de log padrão usado quando alguns Action<T> são definidos na Log propriedade. Um formatador diferente pode ser usado criando uma classe que herda dessa classe e substitui alguns ou todos os métodos para alterar o comportamento.

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

Chamado sempre que um comando tiver concluído a execução. A implementação padrão desse método filtra por DbContext conjunto em Context, se houver, e, em seguida, chama LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Esse método normalmente só seria substituído para alterar o comportamento de filtragem de contexto.

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

Chamado sempre que um comando está prestes a ser executado. A implementação padrão desse método filtra por DbContext conjunto em Context, se houver, e, em seguida, chama LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Esse método normalmente só seria substituído para alterar o comportamento de filtragem de contexto.

GetHashCode()

Esse é o formatador de log padrão usado quando alguns Action<T> são definidos na Log propriedade. Um formatador diferente pode ser usado criando uma classe que herda dessa classe e substitui alguns ou todos os métodos para alterar o comportamento.

GetStopwatch(DbCommandInterceptionContext)

O cronômetro usado para cronometrar execuções. Esse cronômetro é iniciado no final de NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>), ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)e métodos e ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) é interrompido no início do NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>), ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)e ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) métodos. Se esses métodos forem substituídos e o cronômetro estiver sendo usado, as substituições deverão chamar o método base ou iniciar/parar o cronômetro em si.

GetType()

Esse é o formatador de log padrão usado quando alguns Action<T> são definidos na Log propriedade. Um formatador diferente pode ser usado criando uma classe que herda dessa classe e substitui alguns ou todos os métodos para alterar o comportamento.

IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Não grava no log, a menos que seja substituído.

IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Não grava no log, a menos que seja substituído.

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

Chamado para registrar em log um comando que está prestes a ser executado. Substitua esse método para alterar a forma como o comando é registrado System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction.

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

Chamado para LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) registrar cada parâmetro em log. Esse método pode ser chamado de uma implementação substituída de parâmetros de LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) log e/ou pode ser substituído para alterar a maneira como os parâmetros são registrados System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction.

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

Chamado para registrar em log o resultado da execução de um comando. Substitua esse método para alterar a forma como os resultados são registrados System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction.

NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)

Esse método é chamado depois que uma chamada para ExecuteNonQuery() ou um de seus equivalentes assíncronos é feita. A implementação padrão interrompe o cronômetro retornado GetStopwatch(DbCommandInterceptionContext) e chama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)

Esse método é chamado antes que uma chamada para ExecuteNonQuery() ou um de seus equivalentes assíncronos seja feita. A implementação padrão chama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e inicia o cronômetro retornado de GetStopwatch(DbCommandInterceptionContext).

Opened(DbConnection, DbConnectionInterceptionContext)

Chamado após Open() ou seu equivalente assíncrono é invocado. A implementação padrão desse método filtra por DbContext conjunto em Context, se houver, e, em seguida, registra o evento.

Opening(DbConnection, DbConnectionInterceptionContext)

Não grava no log, a menos que seja substituído.

ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Esse método é chamado depois que uma chamada para ExecuteReader(CommandBehavior) ou um de seus equivalentes assíncronos é feita. A implementação padrão interrompe o cronômetro retornado GetStopwatch(DbCommandInterceptionContext) e chama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Esse método é chamado antes que uma chamada para ExecuteReader(CommandBehavior) ou um de seus equivalentes assíncronos seja feita. A implementação padrão chama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e inicia o cronômetro retornado de GetStopwatch(DbCommandInterceptionContext).

RolledBack(DbTransaction, DbTransactionInterceptionContext)

Esse método é chamado depois Rollback() de ser invocado. A implementação padrão desse método filtra por DbContext conjunto em Context, se houver, e, em seguida, registra o evento.

RollingBack(DbTransaction, DbTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)

Esse método é chamado depois que uma chamada para ExecuteScalar() ou um de seus equivalentes assíncronos é feita. A implementação padrão interrompe o cronômetro retornado GetStopwatch(DbCommandInterceptionContext) e chama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)

Esse método é chamado antes que uma chamada para ExecuteScalar() ou um de seus equivalentes assíncronos seja feita. A implementação padrão chama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e inicia o cronômetro retornado de GetStopwatch(DbCommandInterceptionContext).

ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Não grava no log, a menos que seja substituído.

StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Não grava no log, a menos que seja substituído.

ToString()

Esse é o formatador de log padrão usado quando alguns Action<T> são definidos na Log propriedade. Um formatador diferente pode ser usado criando uma classe que herda dessa classe e substitui alguns ou todos os métodos para alterar o comportamento.

Write(String)

Grava a cadeia de caracteres fornecida no delegado de gravação subjacente.

Aplica-se a