Skip to main content

DataStoreLogger Class

Enables operations performed by a specific IDataStore object to be logged.

Namespace: DevExpress.Xpo.DB

Assembly: DevExpress.Data.v24.1.dll

NuGet Package: DevExpress.Data

Declaration

public class DataStoreLogger :
    DataStoreSerialized,
    ICommandChannel,
    ICommandChannelAsync

Remarks

The DataStoreLogger class allows you to log data-aware operations performed by a specific IDataStore object (for instance, for debug purposes). The IDataStore object, whose operations should be tracked, must be passed to the DataStoreLogger constructor.

Example

The following example demonstrates how to log operations performed by a specific connection provider. To log operations, a new instance of the DataStoreLogger class is used. The operations are logged in a “myLog.log” file.

using System.IO;
using DevExpress.Xpo;
using DevExpress.Xpo.DB;

static void Main() {         
   using(StreamWriter writer = new StreamWriter("myLog.log")) {
      // Get the default connection provider. 
      // All the operations performed by this provider will be logged.
      IDataStore trackedDataStore = 
        XpoDefault.GetConnectionProvider(AutoCreateOption.DatabaseAndSchema);
      // Create a logger that will track the default provider's behavior.
      DataStoreLogger logger = new DataStoreLogger(trackedDataStore, writer);
      // Create a data layer and bind it to the logger. 
      // Assign it to the XPODefault.DataLayer.
      // A Session will then use this data layer(and so a logger) 
      // when a connection to a data store should be established.
      XpoDefault.DataLayer = new SimpleDataLayer(logger);
      Application.Run(new Form1());
   }
}

Inheritance

Object
MarshalByRefObject
DevExpress.Xpo.DB.DataStoreSerializedBase
DevExpress.Xpo.DB.DataStoreSerialized
DataStoreLogger
See Also