Use parsing library (clap), it would probably replace dispatcher to some extent.
Pass path::Path instead of String.
Fix:
# This should probably list available commands - clap would fix this.
$ target/debug/logrs show
Couldn't log entry, Reason: Is a directory (os error 21)