elsa-core
elsa-core copied to clipboard
Allow configuration of LogRecord storage at differents levels
In the actual implementation, LogRecords are done using differents interfaces :
IActivityExecutionStorethat store serialized information about activity I/OIWorkflowExecutionLogStorethat store serialize information about Workflow and ActivityContext. (maybe with redondant information regarding theIActivityExecutionStore
This can lead to data store that grow rapidly if you done some activity with large transformation (large input/ouput property which will be serialized).
The idea is to give the ability to the user to configure the storage strategy at different level :
- At App Level -> store : true/false
- At Workflow Level -> store : default (inherit from App Level) / true (override) / false (override)
- At Activity Level -> store : default (inherit from Workflow Level) / true (override) / false (override)
For UI Component :
- App Level : N/A this is configured at Startup
- Workflow level : dropdown in the property tab of the Workflow
- Activity level : new tab for persistence information, with a list of the I/O property and a drop down list for each which allow choosing the strategy.
I think this issue can be closed ? 🧐
@jdevillard Yes, thank you for this awesome contribution! 🙌🏻