Aracılığıyla paylaş


DatabaseLogFormatter Sınıf

Tanım

Bu, bazıları Action<T> özelliğine ayarlandığında kullanılan varsayılan günlük biçimlendiricidir Log . Bu sınıftan devralan ve davranışı değiştirmek için bazı veya tüm yöntemleri geçersiz kılan bir sınıf oluşturularak farklı bir biçimlendirici kullanılabilir.

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
Devralma
DatabaseLogFormatter
Uygulamalar

Açıklamalar

Yeni biçimlendiriciyi ayarlamak için kullanarak DbConfiguration EF için kod tabanlı bir yapılandırma oluşturun ve ardından biçimlendirici sınıfını ile SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>)kullanılacak şekilde ayarlayın. Bu yöntemle kullanılacak biçimlendiricinin türünü ayarlamanın, kullanıldığında komutun günlüğe kaydedilme Log biçimini değiştirdiğini unutmayın. Herhangi bir Action<T> komut günlüğe kaydedilmeden önce üzerine Log ayarlamak yine de gereklidir. Günlüğe kaydetme/kesme denetimi üzerinde daha düşük düzeyde denetim için ve bölümüne bakın IDbCommandInterceptorDbInterception. Kesiciler, uygulamanın yapılandırma dosyasına da kaydedilebilir. Entity Framework yapılandırması hakkında daha fazla bilgi için bkz http://go.microsoft.com/fwlink/?LinkId=260883 .

Oluşturucular

DatabaseLogFormatter(Action<String>)

Hiçbir DbContext bağlama göre filtrelemeyecek ve bunun yerine herhangi bir bağlamdaki her komutu ve bir bağlamdan kaynaklanmayan komutları günlüğe kaydedecek bir biçimlendirici oluşturur.

DatabaseLogFormatter(DbContext, Action<String>)

Yalnızca verilen DbContext örnekten gelen komutları günlüğe kaydedecek bir biçimlendirici oluşturur.

Özellikler

Context

Komutların günlüğe kaydedildiği bağlam veya tüm bağlamlardan komutlar günlüğe kaydediliyorsa null.

Stopwatch
Geçersiz.

Bu özellik kullanımdan kaldırıldı. Bunu kullanmak yanlış yürütme sürelerinin günlüğe kaydedilmesine neden olabilir. Bunun yerine ara GetStopwatch(DbCommandInterceptionContext) .

Yöntemler

BeganTransaction(DbConnection, BeginTransactionInterceptionContext)

Çağrıldıktan sonra BeginTransaction(IsolationLevel) çağrılır. Bu yöntemin varsayılan uygulaması, varsa olarak Contextayarlanarak DbContext filtrelenir ve ardından olayı günlüğe kaydeder.

BeginningTransaction(DbConnection, BeginTransactionInterceptionContext)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

Closed(DbConnection, DbConnectionInterceptionContext)

Çağrıldıktan sonra Close() çağrılır. Bu yöntemin varsayılan uygulaması, varsa olarak Contextayarlanarak DbContext filtrelenir ve ardından olayı günlüğe kaydeder.

Closing(DbConnection, DbConnectionInterceptionContext)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

Committed(DbTransaction, DbTransactionInterceptionContext)

Bu yöntem çağrıldıktan sonra Commit() çağrılır. Bu yöntemin varsayılan uygulaması, varsa olarak Contextayarlanarak DbContext filtrelenir ve ardından olayı günlüğe kaydeder.

Committing(DbTransaction, DbTransactionInterceptionContext)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

Disposed(DbConnection, DbConnectionInterceptionContext)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

Disposed(DbTransaction, DbTransactionInterceptionContext)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

Disposing(DbConnection, DbConnectionInterceptionContext)

Çağrıdan önce Dispose() çağrılır. Bu yöntemin varsayılan uygulaması, varsa olarak Contextayarlanarak DbContext filtrelenir ve ardından olayı günlüğe kaydeder.

Disposing(DbTransaction, DbTransactionInterceptionContext)

Bu yöntem çağrılmadan önce Dispose() çağrılır. Bu yöntemin varsayılan uygulaması, varsa olarak Contextayarlanarak DbContext filtrelenir ve ardından olayı günlüğe kaydeder.

EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

Equals(Object)

Bu, bazıları Action<T> özelliğine ayarlandığında kullanılan varsayılan günlük biçimlendiricidir Log . Bu sınıftan devralan ve davranışı değiştirmek için bazı veya tüm yöntemleri geçersiz kılan bir sınıf oluşturularak farklı bir biçimlendirici kullanılabilir.

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

Bir komutun yürütülmesi tamamlandığında çağrılır. Bu yöntemin varsayılan uygulaması, varsa olarak ayarlanarak filtrelenir DbContext ve ardından öğesini çağırırLogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).Context Bu yöntem genellikle yalnızca bağlam filtreleme davranışını değiştirmek için geçersiz kılınabilir.

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

Komut yürütülmek üzere olduğunda çağrılır. Bu yöntemin varsayılan uygulaması, varsa olarak ayarlanarak filtrelenir DbContext ve ardından öğesini çağırırLogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).Context Bu yöntem genellikle yalnızca bağlam filtreleme davranışını değiştirmek için geçersiz kılınabilir.

GetHashCode()

Bu, bazıları Action<T> özelliğine ayarlandığında kullanılan varsayılan günlük biçimlendiricidir Log . Bu sınıftan devralan ve davranışı değiştirmek için bazı veya tüm yöntemleri geçersiz kılan bir sınıf oluşturularak farklı bir biçimlendirici kullanılabilir.

GetStopwatch(DbCommandInterceptionContext)

Yürütmeleri zaman için kullanılan kronometre. Bu kronometre , ve yöntemlerinin NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)sonunda başlatılır ve ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) , ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)ve ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) yöntemlerinin NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)başında durdurulur. ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>) Bu yöntemler geçersiz kılındıysa ve kronometre kullanılıyorsa geçersiz kılmalar temel yöntemi çağırmalı veya kronometreyi kendileri başlatmalıdır/durdurmalıdır.

GetType()

Bu, bazıları Action<T> özelliğine ayarlandığında kullanılan varsayılan günlük biçimlendiricidir Log . Bu sınıftan devralan ve davranışı değiştirmek için bazı veya tüm yöntemleri geçersiz kılan bir sınıf oluşturularak farklı bir biçimlendirici kullanılabilir.

IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

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

Yürütülmek üzere olan bir komutu günlüğe kaydetmek için çağrıldı. Komutun oturum açma System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActionbiçimini değiştirmek için bu yöntemi geçersiz kılın.

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

Her parametreyi günlüğe kaydetmek için tarafından LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) çağrılır. Bu yöntem, geçersiz kılınmış bir uygulamasından LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) günlük parametrelerine çağrılabilir ve/veya parametrelerin günlüğe kaydedilme biçimini değiştirmek için System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActiongeçersiz kılınabilir.

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

Komutu yürütmenin sonucunu günlüğe kaydetmek için çağrılır. Sonuçların oturum açma System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActionbiçimini değiştirmek için bu yöntemi geçersiz kılın.

NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)

Bu yöntem, bir çağrısı ExecuteNonQuery() yapıldıktan veya zaman uyumsuz karşılıklarından biri yapıldıktan sonra çağrılır. Varsayılan uygulama, döndürülen kronometreyi GetStopwatch(DbCommandInterceptionContext) durdurur ve öğesini çağırır Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)

Bu yöntem, veya zaman uyumsuz karşılıklarından biri çağrı ExecuteNonQuery() yapılmadan önce çağrılır. Varsayılan uygulama, içinden GetStopwatch(DbCommandInterceptionContext)döndürülen kronometreyi çağırır Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) ve başlatır.

Opened(DbConnection, DbConnectionInterceptionContext)

sonra Open() çağrılır veya zaman uyumsuz karşılık çağrılır. Bu yöntemin varsayılan uygulaması, varsa olarak Contextayarlanarak DbContext filtrelenir ve ardından olayı günlüğe kaydeder.

Opening(DbConnection, DbConnectionInterceptionContext)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Bu yöntem, bir çağrısı ExecuteReader(CommandBehavior) yapıldıktan veya zaman uyumsuz karşılıklarından biri yapıldıktan sonra çağrılır. Varsayılan uygulama, döndürülen kronometreyi GetStopwatch(DbCommandInterceptionContext) durdurur ve öğesini çağırır Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Bu yöntem, veya zaman uyumsuz karşılıklarından biri çağrı ExecuteReader(CommandBehavior) yapılmadan önce çağrılır. Varsayılan uygulama, içinden GetStopwatch(DbCommandInterceptionContext)döndürülen kronometreyi çağırır Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) ve başlatır.

RolledBack(DbTransaction, DbTransactionInterceptionContext)

Bu yöntem çağrıldıktan sonra Rollback() çağrılır. Bu yöntemin varsayılan uygulaması, varsa olarak Contextayarlanarak DbContext filtrelenir ve ardından olayı günlüğe kaydeder.

RollingBack(DbTransaction, DbTransactionInterceptionContext)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)

Bu yöntem, bir çağrısı ExecuteScalar() yapıldıktan veya zaman uyumsuz karşılıklarından biri yapıldıktan sonra çağrılır. Varsayılan uygulama, döndürülen kronometreyi GetStopwatch(DbCommandInterceptionContext) durdurur ve öğesini çağırır Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)

Bu yöntem, veya zaman uyumsuz karşılıklarından biri çağrı ExecuteScalar() yapılmadan önce çağrılır. Varsayılan uygulama, içinden GetStopwatch(DbCommandInterceptionContext)döndürülen kronometreyi çağırır Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) ve başlatır.

ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Geçersiz kılınmadığı sürece günlüğe yazmaz.

ToString()

Bu, bazıları Action<T> özelliğine ayarlandığında kullanılan varsayılan günlük biçimlendiricidir Log . Bu sınıftan devralan ve davranışı değiştirmek için bazı veya tüm yöntemleri geçersiz kılan bir sınıf oluşturularak farklı bir biçimlendirici kullanılabilir.

Write(String)

Verilen dizeyi temel alınan yazma temsilcisine yazar.

Şunlara uygulanır