I think Plan 9 gives a nice distinction. We use files as both a persistent store as well as an interface, so it seems nice to separate those two concerns out. That way you could have your logs as a UI into application state and only incur the overhead of serialization and persistence when you deem necessary.
Caveat, my Plan 9 experience is mostly theoretical.
Caveat, my Plan 9 experience is mostly theoretical.