System Logging

DirX Access Server supports monitoring via Apache Log4j 2 framework.

The artifacts of the framework can be found in the <installation_folder>\Services\plugins folder.

The framework is configured in non-programmatic way. So its standard XML configuration can be found in <installation_folder>\Services\instances\<instance_name>\etc\log4j2.xml file.

Configuration

The default configuration specifies:

<Configuration status="error" name="Services" monitorInterval="300">
  • The internal logging level for the Log4j2 framework itself to ERROR

  • The name of the configuration for identification purposes.

  • The interval (in seconds) at which the framework will check for changes in the configuration file and reload it if any changes are detected.

<Property name="log_folder">./logs</Property>
  • The log folder to the <installation_folder>\Services\instances\<instance_name>\logs location.

<Property name="log_pattern">%d %-5p [%c@%t] %m%n</Property>
  • The log pattern for non-specific appenders.

<Property name="log_pattern_custom">%d %m%n</Property>
  • The log pattern for specific (custom) appenders. Please read more about the specific (custom) appenders later.

<Property name="log_level">info</Property>
  • The log level for non-specific appenders.

<Property name="configuration.advices">true</Property>
  • The extra configuration for non-specific Loggers to produce also DirX Access configuration advices to standard log messages of the system. The configuration advices can be useful when configuring the system but may slightly reduce system performance and produce excessively long messages.

<RollingFile name="dxa" fileName="${log_folder}/services.log"
  • The log file for non-specific Loggers to log DirX Access request processing.

<RollingFile name="migration_log" fileName="${log_folder}/migration.log"
  • The specific (custom) log file to log migration tasks, if any, during the migration process. The Logger of this file has DEBUG level. The migration process takes place only when the server is started.

<RollingFile name="env_info" fileName="${log_folder}/env_info.log"
  • The specific (custom) log file to log environment information about the system.

    • DirX Access version, build number and build date

    • JAVA runtime information

    • LDAP requester registrations

    • MBean registrations for System Monitoring

    • DirX Access OSGi services activations

    • Initialization tasks of application repository *<installation_folder>\Services\instances\<instance_name>\startup\config f*older

    • Initialization tasks of system actions *<installation_folder>\Services\instances\<instance_name>\startup\sysactions f*older

    • Installed security providers

    • Initialization of significant components that have been configured

    • Activation of listening on specific ports of the embedded web server

    • Ignite cluster topology state and (re)initialization of caches

      • The state is produced when an Ignite event happen

      • The state is produced periodically based on the following configuration (in seconds) of the Logger:

        <Property name="scheduled.period.sec.TOPOLOGY_INFO">3600</Property>
      • The default configuration means 1 hour.

    • Relations between policy objects for each RBAC PDP.

      • Each time policy cache of RBAC PDP is refreshed (due to change in configuration related to that PDP), text representation of PlantUML diagram showing relations between the roles, policies, rules, and resources linked to that PDP are logged in the log file.

      • Tool such as PlantText UML Editor can be used to render the diagram.

      • Resources that are not linked by any authorization rule will not be shown in the graph.

  • The log file does not contain log messages about DirX Access request processing.

    • The env_info.log log file should ideally be part of every Jira support ticket.

    <RollingFile name="external" fileName="${log_folder}/external.log"
  • The log file for non-specific Loggers to log messages from third-party libraries.