logging: allow partial updates to log handler settings
Summary:
This updates the LogHandlerConfig code to allow changing the settings on an
existing log handler without listing all of its existing options from scratch.
This also changes the syntax of the basic log handler configuration string to
use a colon to separate the log handler name+type from the options list. In
other words, rather than specifying `default=stream,stream=stderr,async=true`
you now say `default=stream:stream=stderr,async=true`.
The primary motivation for this change is to make it easy for users to switch
the async setting for the default log handler on or off. Callers can now
specify `default:async=true` to easily enable async mode on the default log
handler without having to completely re-list the full settings for the default
handler.
Reviewed By: yfeldblum
Differential Revision:
D6494228
fbshipit-source-id:
52a296f800a5456f0c3aa10546298139c8db52fc