Logging manifests in different ways in different contexts. In CQRS, the storage of domain events can be regarded as an audit log. You can also have application/infrastructural logging which logs technical system events. These are typically stored in a different place and are mostly write only. On .NET, frameworks such as log4net or NLog are used to handle logging of technical system events. You can create an Rx-based implementation for these frameworks, though that might be adding needless complexity.
Also, you certainly can place log messages on a message queue, though I'm not sure what you'd get out of that. Is the event broker you have an in-process broker or distributed? If the latter, then I'd steer away from that unless absolutely necessary.