Scoped events! We can now keep state throughout an entire event, and dispose of those resources when the events ends. This was a necessary step to introduce the new context-based audit logging. This pull request adds a way to log auditable events into the database or the logger. This opens up a new area of possibilities, which hasn't really been done before in any server controller in TM.
The pull request also implements an API that can be used both inside and outside of a context. The context-based logging will allow you to modify the audit throughout an entire event. For example, if you need to set properties that is only available at different places. You can also cancel the audit log if needed.
Audit logs supports 3 different states; info, success and error. In addition, a fluent builder is provided that makes it easy to set up an audit anywhere, either manually, through the context, the context service or the audit service.
Logs should be easily parseable and it is also possible to read the database to display the logs in-game or externally.
Scoped events! We can now keep state throughout an entire event, and dispose of those resources when the events ends. This was a necessary step to introduce the new context-based audit logging. This pull request adds a way to log auditable events into the database or the logger. This opens up a new area of possibilities, which hasn't really been done before in any server controller in TM.
The pull request also implements an API that can be used both inside and outside of a context. The context-based logging will allow you to modify the audit throughout an entire event. For example, if you need to set properties that is only available at different places. You can also cancel the audit log if needed.
Audit logs supports 3 different states; info, success and error. In addition, a fluent builder is provided that makes it easy to set up an audit anywhere, either manually, through the context, the context service or the audit service.
Logs should be easily parseable and it is also possible to read the database to display the logs in-game or externally.