I would like to have a log in database of state transitions of my workflow.
Where is the best place to trigger logging with Stateless? Should it be set-up for each State configuration :
phoneCall.Configure(State.Connected)
.OnEntry(() => StartCallTimer())
.OnEntry(() => Log());
or there is some way to define it centrally for whole workflow once?
Any other input in this regard is welcome.
You can use the OnTransitioned
trigger that will be fired on every transition as central logging facility.
_stateMachine.OnTransitioned(OnTransitionedAction);
void OnTransitionedAction(StateMachine<StateEnum, TriggerEnum>.Transition transition) {
TriggerEnum trigger = transition.Trigger;
StateEnum source = transition.Source;
StateEnum dest = transition.Destination;
// log trigger, source, destination
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With