ark::logging::LogWriterConfiguration

Defined in header “ark/logging/log_writer.hh”.


The configuration for a log writer. This allows you to specify things like identifiers, names, and other metadata/configuration early.

Variables

  • core::Guid log_identifier
    The identifier of this log. This allows you to uniquely identify a particular view into a set of data.

  • core::Guid common_identifier
    An identifier common to all logs within a “family” (ie, all logs that share some data).

  • std::string name
    A human-meaningful name of this log. Can be empty.

  • std::filesystem::path destination_path= “/tmp/ark_logs”
    The local destination path for the log that you are writing. TODO(dtascione): This is temporary and will be replaced with a smarter storage configuration…

  • bool disable_disk_synchronization= false
    Indicates if fsync() should be used to ensure data is on disk or not. Disabling might improve performance, but definitely increases the chances of corruption in the event of power failure.

  • bool disable_active_use_recording= false
    Set to true to disable recording if logs are actively used or not. May have negative impacts on tools like log cleaning.

  • std::vector< ColumnConfiguration > available_columns
    A list of the columns that you wish to provide in the log writer.

  • std::optional< Manifest > parent_manifest
    If present, this is the “parent” manifest, which is combined into our newly-written manifest.

  • std::optional< Query > restricting_query
    If present, this is the “restricting” or “parent” query, which is used for amendments. If there is no parent manifest, this parameter is ignored.