Init initialises a production-grade zap logger at the given level and
returns a sync function that should be called before exit to flush
buffered log entries.
ParseLevel maps a flag value to a zap level. Empty means info, so
unset flags and old callers keep today's behavior. Anything else
fails loudly instead of silently running at an unintended level.