I am only an amateur go developer, but I have some questions:
* what is the sense of this project? NATS is quite the standard for this use case in Go and you can also embed it in a golang binary
* the code seems a bit "strange" to me: why not using existing libraries for structured logging? No unit tests, no usage of interfaces (i.e. persistence can implement writer interface), etc.