Old Configuration Migration
Every framework version before 5.0 used a split BAM configuration model: some general settings were stored in the BAM.config XML configuration file, and in case of the Core, Authority, Generic REST and OPC UA services and the OPC UA interface, the settings were stored in separate appsettings.json files. As this complicates matters regarding proper setup of the framework BAM system, starting from version 5.0 all BAM configuration settings are consolidated in a single appsettings.json file used by all framework components and processes.
The current BAM logging system is redesigned for easier setup and configuration, and also to apply current logging industry practises. This leads to the unfortunate event that some things have to be migrated to a new configuration file.
Note
To avoid issues with an automatic migration, the migration will have to be done by hand.
Consult the article Appsettings.json Configuration for more information about the new structure.
Old Serilog Settings Ignored
Several framework processes, the Core, Authority, Generic REST and OPC UA services and the OPC UA interface, all use separate appsettings.json files to store their configuration information.
Any old Serilog settings in those appsettings.json files are ignored. The patcher will not even migrate these settings because many options, for example the log file naming and log format, have changed and are now fixed within the BAM logging functionality and thus cannot be changed.
Changed Features
Several features or behaviour of features have been changed.
Categories and Filtering
The new logging implementation doesn't support the use categories anymore as they are replaced by log levels. A direct consequence means that filtering can only be applied on those log levels and components.
Please consult the paragraph about Log Levels for more information.
Different Component Definitions
The removal of categories also as an impact on the component filtering definitions. Like in the previous framework versions will it be possible to exclude a component from generating log data, but unlike any previous framework is it only possible to override the general log level filter and not filtering out specific log data.