Configuração de eventos

@frozen
public struct EventConfiguration : Sendable

Parâmetros de configuração para gravação de eventos do Realm.

A ativação da gravação de eventos do Realm é feita com a configuração de Realm.Configuration.eventConfiguration para qualquer EventConfiguration não nulo. Uma configuração inicializada por padrão é válida, mas algumas propriedades podem precisar ser personalizadas.

O uso da gravação de evento do Realm requer a inclusão da collection AuditEvent em seu esquema definido no servidor do aplicativo para o qual você gravará evento. O esquema deve conter os seguintes campos:

  • _id: ObjectId
  • activity: String
  • event: String?
  • data: String?
  • timestamp: Date Além disso, deve haver um campo String? para cada chave de metadados utilizada.
  • Metadados anexados a cada evento gerado. Cada chave no dicionário de metadados é armazenada em uma coluna com esse nome no evento Realm e, portanto, o esquema configurado no servidor para a coleção AuditEvent deve incluir todos os campos de metadados que serão usados. Os campos de metadados devem ser do tipo String? no esquema do lado do servidor.

    Declaração

    Swift

    public var metadata: [String : String]?
  • O usuário de sincronização com o qual escrever dados de evento . Se não for fornecido, o usuário do Realm que está sendo rastreado será usado. Pode ser um User associado a um App diferente do Realm que está sendo rastreado, se desejado.

    O usuário deve estar associado a um aplicativo de sincronização baseado em partição. Se o Realm rastreado estiver usando a Flexible Sync, a configuração desse campo para um usuário de PBS será obrigatória.

    Declaração

    Swift

    public var syncUser: User?
  • Uma string anexada aos valores de partição gerados aleatoriamente usados para carregar dados de evento no servidor. Isso pode ser personalizado para garantir que você possa distinguir as partições de evento das partições usadas pelo seu aplicação.

    Declaração

    Swift

    public var partitionPrefix: String
  • Uma função de retorno de chamada de registrador. Esta função deve ser segura para threads, pois pode ser chamada de várias threads simultaneamente.

    Declaração

    Swift

    public typealias LoggerFunction = @Sendable (SyncLogLevel, String) -> Void
  • Um logger que será chamado para relatar informações sobre o trabalho feito no thread do evento de background. Se nil, isso é relatado ao registrador do SyncManager .

    Declaração

    Swift

    @preconcurrency
    public var logger: LoggerFunction?
  • O manipulador de erros que será chamado se ocorrer um erro de sincronização ao fazer o upload de dados de evento . Se nil, o erro será registrado e, em seguida, abort() será chamado. O uso de produção deve sempre definir um manipulador de erros personalizado, a menos que o cancelamento do erro seja desejado.

    Declaração

    Swift

    @preconcurrency
    public var errorHandler: (@Sendable (Swift.Error) -> Void)?
  • Cria um EventConfiguration que habilita a gravação de evento do Realm .

    Declaração

    Swift

    @preconcurrency
    public init(metadata: [String: String]? = nil, syncUser: User? = nil,
                partitionPrefix: String = "events", logger: LoggerFunction? = nil,
                errorHandler: (@Sendable (Swift.Error) -> Void)? = nil)