-`ServiceName`: set the service name, optional. on `volume` mode, the name is used to generate the log files. Within `rest/zrpc` services, the name will be set to the name of `rest` or `zrpc` automatically.
-`Mode`: the mode to output the logs, default is `console`.
-`console` mode writes the logs to `stdout/stderr`.
-`file` mode writes the logs to the files specified by `Path`.
-`volume` mode is used in docker, to write logs into mounted volumes.
-`Encoding`: indicates how to encode the logs, default is `json`.
-`json` mode writes the logs in json format.
-`plain` mode writes the logs with plain text, with terminal color enabled.
-`TimeFormat`: customize the time format, optional. Default is `2006-01-02T15:04:05.000Z07:00`.
-`Path`: set the log path, default to `logs`.
-`Level`: the logging level to filter logs. Default is `info`.
-`info`, all logs are written.
-`error`, `info` logs are suppressed.
-`severe`, `info` and `error` logs are suppressed, only `severe` logs are written.
-`Compress`: whether or not to compress log files, only works with `file` mode.
-`KeepDays`: how many days that the log files are kept, after the given days, the outdated files will be deleted automatically. It has no effect on `console` mode.
-`StackCooldownMillis`: how many milliseconds to rewrite stacktrace again. It’s used to avoid stacktrace flooding.
-`MaxBackups`: represents how many backup log files will be kept. 0 means all files will be kept forever. Only take effect when `Rotation` is `size`. NOTE: the level of option `KeepDays` will be higher. Even thougth `MaxBackups` sets 0, log files will still be removed if the `KeepDays` limitation is reached.
-`MaxSize`: represents how much space the writing log file takes up. 0 means no limit. The unit is `MB`. Only take effect when `Rotation` is `size`.
-`Rotation`: represents the type of log rotation rule. Default is `daily`.