auditlogging

This configuration is required when using the plugin AuditLogging.

  • Documentation

  • YAML Format

  • XML Format

Fill relevant inputs (blue boxes) and click the blue bars on the left to copy XML configuration snippets.
<logConfiguration
>
required

Audit logging can be used to log different accesses to Cadenza and the repository. The log is stored in a database. This is done asynchronously, so that working with Cadenza is affected as little as possible.

<failureHandling
<asynchronousLogging
type
optional
=
xs:string
SwitchToSynchronous

When asynchronous logging fails to access the audit logging database, Cadenza switches to a synchronous logging mechanism. This ensures that data is only displayed when it can be captured by the audit logging. If synchronous logging is successful, the user action is executed and Cadenza switches back to asynchronous logging. If the audit logging database is not accessible even in synchronous mode, no data will be displayed. The user will receive an error message.

Ignore

The user's action is executed but not logged. The erroneous access to the database will be noted in the Cadenza log file (or in another configured output destination).

The behavior when an error occurs during asynchronous logging.

Default: Ignore

>
required

Setting for Cadenza's behavior when an error occurs during asynchronous logging.

</asynchronousLogging>
>
optional

Settings for failure handling.

</failureHandling>
<auditors
<auditor
name
optional
=
xs:string
AccessManager

Changes within the user management.

AccessManagerWeb

Changes within the user management in Cadenza Web.

Authentication

Login and logout events.

Report

Accesses to print reports.

Objecttype

Accesses to data from data sources via object types.

Project

Changes to projects and project variables.

Selector

Accesses to data from data sources via filter forms.

Export

Exports to files, e.g. a table, attribute table, creation of an extended permalink for a print report. The triggering of the export process is logged.

Import

Imports from workbooks.

Workbook

Accesses to workbooks.

JobScheduling

Report scheduling for workbooks.

DataProtectionContext

Changes related to Data Protection Context.

Name of the auditor.

includeQuery
optional
=
boolean

true to log SQL statements that are called in subreports within Jasper reports as well. Logging can be disabled because SQL statements from subreports are each written to an own line, which can quickly result in lots of lines. Only evaluated if name is Report.

Default: false

>
optionalmax. unbounded

Settings for an access event type to be logged (auditor).

</auditor>
>
optionalmax. 1

Settings for access event types to be logged (auditors).

</auditors>
<appender
name
optional
=
string

Name of the appender, freely selectable.

class
optional
=
string

Fully qualified class name of the appender. net.disy.cadenza.auditlog.appender.HibernateAuditLogAppender for output to a database.

<param
>
requiredmax. unbounded

Additional parameter for a database property.

name
optional
=
string

driverName - value is the name of the JDBC driver used. jdbcURL - value is the JDBC URL of the database. user - value is the database user to establish database connection. password - value is the password of the database user. passwordEncrypted - value should be true if the password is encoded. Use the Cadenza encoder for this. connectionPoolSize - value is the number of connections the connection pool may create to the database, default value is 1, maximum is 5. allowedDataSources - value is the repository data sources for which access should be logged, separated by commas. Leave this parameter away if all data sources should be logged. Leave value empty if no data sources should be logged. Furthermore, other database-specific connection parameters (properties) can be set as name-value pairs here. General connection properties specified elsewhere are not supported (e.g. the username).

value
optional
=
string

Value of the parameter (property).

</param>
>
optionalmax. unbounded

Settings for a target of log outputs (appender). Currently, it is the HibernateAuditLogAppender for logging to a database. If user management is enabled, appenders can be optionally defined on a group-specific basis.

</appender>
<root
<priority
>
required

Setting for the minimum log level. Important: Log outputs of the audit logging are only created at the log level info, i.e. no events are logged with the minimum log levels warning and error!

value
optional
=
xs:string
debug

Lowest log level.

info

Higher than debug.

warning

Higher than info.

error

Highest log level.

Minimum log level. Important: Log outputs of the audit logging are only created at the log level info, i.e. no events are logged with the minimum log levels warning and error!

</priority>
<appender-ref
ref
optional
=
string

Name of the referenced appender (from those configured as <appender>).

>
requiredmax. unbounded

Setting for a referenced appender to send the log entries to (from those configured as <appender>). All configured appenders are possible at the same time.

</appender-ref>
>
optionalmax. 1

Settings for the assignment of appenders to a minimum log level. The settings in the <root> element apply to all users who are not member of a group specified in <logger> elements. If a user is a member of multiple configured groups, all appenders configured there will be used. If, in this case, an appender is configured multiple times, the appender with the lowest minimum log level will be used. The group membership at the time of login applies.

</root>
<logger
<priority
>
required

Setting for the minimum log level. Important: Log outputs of the audit logging are only created at the log level info, i.e. no events are logged with the minimum log levels warning and error!

value
optional
=
xs:string
debug

Lowest log level.

info

Higher than debug.

warning

Higher than info.

error

Highest log level.

Minimum log level. Important: Log outputs of the audit logging are only created at the log level info, i.e. no events are logged with the minimum log levels warning and error!

</priority>
<appender-ref
ref
optional
=
string

Name of the referenced appender (from those configured as <appender>).

>
requiredmax. unbounded

Setting for a referenced appender to send the log entries to (from those configured as <appender>). All configured appenders are possible at the same time.

</appender-ref>
name
optional
=
string

Name of the user group.

>
optionalmax. unbounded

Settings for a user group-specific assignment of appenders to a minimum log level, analogous to the <root> element. The settings in the <root> element apply to all users who are not member of a group specified in <logger> elements. If a user is a member of multiple configured groups, all appenders configured there will be used. If, in this case, an appender is configured multiple times, the appender with the lowest minimum log level will be used. The group membership at the time of login applies.

</logger>
</logConfiguration>
This is a generated sample file with fake data and all the possible options shown, refer to the Documentation tab for what combinations are valid and what is required or not.
cadenzaconfig:
  settings:
    auditlogging:
      failureHandling:
        asynchronousLogging:
          type: "SwitchToSynchronous"
      auditors:
      - name: "AccessManager"
        includeQuery: true
      - name: "AccessManager"
        includeQuery: true
      appender:
      - name: "text"
        class: "text"
        param:
        - name: "text"
          value: "text"
        - name: "text"
          value: "text"
      - name: "text"
        class: "text"
        param:
        - name: "text"
          value: "text"
        - name: "text"
          value: "text"
      root:
        priority:
          value: "debug"
        appender-ref:
        - ref: "text"
        - ref: "text"
      logger:
      - name: "text"
        priority:
          value: "debug"
        appender-ref:
        - ref: "text"
        - ref: "text"
      - name: "text"
        priority:
          value: "debug"
        appender-ref:
        - ref: "text"
        - ref: "text"

Filename: auditlogging-config.xml

This is a generated sample file with fake data and all the possible options shown, refer to the Documentation tab for what combinations are valid and what is required or not.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<logConfiguration>
  <failureHandling>
    <asynchronousLogging type="SwitchToSynchronous"/>
  </failureHandling>
  <auditors>
    <auditor name="AccessManager" includeQuery="true"/>
    <auditor name="AccessManager" includeQuery="true"/>
  </auditors>
  <appender name="text" class="text">
    <param name="text" value="text"/>
    <param name="text" value="text"/>
  </appender>
  <appender name="text" class="text">
    <param name="text" value="text"/>
    <param name="text" value="text"/>
  </appender>
  <root>
    <priority value="debug"/>
    <appender-ref ref="text"/>
    <appender-ref ref="text"/>
  </root>
  <logger name="text">
    <priority value="debug"/>
    <appender-ref ref="text"/>
    <appender-ref ref="text"/>
  </logger>
  <logger name="text">
    <priority value="debug"/>
    <appender-ref ref="text"/>
    <appender-ref ref="text"/>
  </logger>
</logConfiguration>