This sounds like working around event sourcing - what value does event sourcing add here, vs simply not using it at all for user accounts?
However, just because you're using event sourcing doesn't mean you don't have a database with the current state of your entities.
class User < ActiveRecord::Base
has_paper_trail
end
That solution is good enough for most use cases and doesn't require highly skilled architects and developers to implement Event Sourcing properly.This is not very different from what a relational database does with redo logs. In fact, in a way, using event sourcing resembles composing a system from the fundamental building blocks of a traditional DBMS, in a distributed way.
Regarding logs, "traditionally", I'd use an audit/change history table for objects that needed one.