Update schema

This commit is contained in:
terry-xiaoyu 2018-10-18 14:39:25 +08:00
parent 1222dd0eab
commit 2c63aef3f6
3 changed files with 51 additions and 72 deletions

View File

@ -4,7 +4,7 @@ PROJECT = emqx
PROJECT_DESCRIPTION = EMQ X Broker PROJECT_DESCRIPTION = EMQ X Broker
PROJECT_VERSION = 3.0 PROJECT_VERSION = 3.0
DEPS = jsx gproc gen_rpc lager ekka esockd cowboy clique lager_syslog DEPS = jsx gproc gen_rpc lager ekka esockd cowboy clique
dep_jsx = git https://github.com/talentdeficit/jsx 2.9.0 dep_jsx = git https://github.com/talentdeficit/jsx 2.9.0
dep_gproc = git https://github.com/uwiger/gproc 0.8.0 dep_gproc = git https://github.com/uwiger/gproc 0.8.0
@ -14,7 +14,6 @@ dep_esockd = git https://github.com/emqx/esockd v5.4.2
dep_ekka = git https://github.com/emqx/ekka v0.4.1 dep_ekka = git https://github.com/emqx/ekka v0.4.1
dep_cowboy = git https://github.com/ninenines/cowboy 2.4.0 dep_cowboy = git https://github.com/ninenines/cowboy 2.4.0
dep_clique = git https://github.com/emqx/clique develop dep_clique = git https://github.com/emqx/clique develop
dep_lager_syslog = git https://github.com/basho/lager_syslog 3.0.1
NO_AUTOPATCH = cuttlefish NO_AUTOPATCH = cuttlefish

View File

@ -361,13 +361,13 @@ log.file = emqx.log
## Value: Number ## Value: Number
## Default: 10M ## Default: 10M
## Supported Unit: B | KB | MB | G ## Supported Unit: B | KB | MB | G
log.rotation.size = 10M #log.rotation.size = 10M
## Maximum rotation count of log files. ## Maximum rotation count of log files.
## ##
## Value: Number ## Value: Number
## Default: 5 ## Default: 5
log.rotation.count = 5 #log.rotation.count = 5
## To create additional log files for specific levels of logs. ## To create additional log files for specific levels of logs.
## ##

View File

@ -382,100 +382,87 @@ end}.
%% Log %% Log
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
{mapping, "log.dir", "lager.log_dir", [ {mapping, "log.to", "logger.to", [
{default, console},
{datatype, {enum, [off, file, console, both]}}
]}.
{mapping, "log.level", "kernel.logger_level", [
{default, error},
{datatype, {enum, [debug, info, notice, warning, error, critical, alert, emergency, all]}}
]}.
{mapping, "log.dir", "logger.dir", [
{default, "log"}, {default, "log"},
{datatype, string} {datatype, string}
]}. ]}.
{mapping, "log.console", "lager.handlers", [ {mapping, "log.file", "logger.filename", [
{default, file}, {default, "emqx.log"},
{datatype, {enum, [off, file, console, both]}}
]}.
{mapping, "log.console.level", "lager.handlers", [
{default, info},
{datatype, {enum, [debug, info, notice, warning, error, critical, alert, emergency, none]}}
]}.
{mapping, "log.console.file", "lager.handlers", [
{default, "log/console.log"},
{datatype, file} {datatype, file}
]}. ]}.
{mapping, "log.console.size", "lager.handlers", [ {mapping, "log.rotation.size", "logger.size", [
{default, 10485760}, {default, "10M"},
{datatype, integer} {datatype, bytesize}
]}. ]}.
{mapping, "log.console.count", "lager.handlers", [ {mapping, "log.rotation.count", "logger.count", [
{default, 5}, {default, 5},
{datatype, integer} {datatype, integer}
]}. ]}.
{mapping, "log.info.file", "lager.handlers", [ {mapping, "log.$level.file", "logger.additional_handlers", [
{datatype, file} {datatype, file}
]}. ]}.
{mapping, "log.info.size", "lager.handlers", [ {mapping, "log.syslog", "logger.syslog", [
{default, 10485760},
{datatype, integer}
]}.
{mapping, "log.info.count", "lager.handlers", [
{default, 5},
{datatype, integer}
]}.
{mapping, "log.error.file", "lager.handlers", [
{default, "log/error.log"},
{datatype, file}
]}.
{mapping, "log.error.size", "lager.handlers", [
{default, 10485760},
{datatype, integer}
]}.
{mapping, "log.error.count", "lager.handlers", [
{default, 5},
{datatype, integer}
]}.
{mapping, "log.syslog", "lager.handlers", [
{default, off}, {default, off},
{datatype, flag} {datatype, flag}
]}. ]}.
{mapping, "log.syslog.identity", "lager.handlers", [ {mapping, "log.syslog.identity", "logger.syslog", [
{default, "emqx"}, {default, "emqx"},
{datatype, string} {datatype, string}
]}. ]}.
{mapping, "log.syslog.facility", "lager.handlers", [ {mapping, "log.syslog.facility", "logger.syslog", [
{default, local0}, {default, local0},
{datatype, {enum, [daemon, local0, local1, local2, local3, local4, local5, local6, local7]}} {datatype, {enum, [daemon, local0, local1, local2, local3, local4, local5, local6, local7]}}
]}. ]}.
{mapping, "log.syslog.level", "lager.handlers", [ {mapping, "log.syslog.level", "logger.syslog", [
{default, error}, {default, error},
{datatype, {enum, [debug, info, notice, warning, error, critical, alert, emergency]}} {datatype, {enum, [debug, info, notice, warning, error, critical, alert, emergency]}}
]}. ]}.
{mapping, "log.error.redirect", "lager.error_logger_redirect", [
{default, on},
{datatype, flag},
hidden
]}.
{mapping, "log.error.messages_per_second", "lager.error_logger_hwm", [
{default, 1000},
{datatype, integer},
hidden
]}.
{translation, {translation,
"lager.handlers", "logger.additional_handlers",
fun(Conf) -> fun(Conf) ->
Format = [time," [",level,"] ",msg,"\n"],
AdditionalHandlers = lists:filter(
fun({K, _V}) ->
cuttlefish_variable:is_fuzzy_match(K, string:tokens("log.$level.file", "."))
end,
Conf),
Users = [{handler, file, logger_disk_log_h,
#{level => Level,
config => #{file => Dir ++ Filename,
type => wrap,
max_no_files => MaxNoFiles,
max_no_bytes => MaxNoBytes},
formatter =>
{logger_formatter, #{legacy_header => false,
single_line => true,
template => Format}},
filesync_repeat_interval => 1000}}
|| {[_, Level, _], Filename} <- UserList],
case Users of
[] ->
throw(unset);
_ -> Users
end
ErrorHandler = case cuttlefish:conf_get("log.error.file", Conf, undefined) of ErrorHandler = case cuttlefish:conf_get("log.error.file", Conf, undefined) of
undefined -> []; undefined -> [];
ErrorFilename -> [{lager_file_backend, [{file, ErrorFilename}, ErrorFilename -> [{lager_file_backend, [{file, ErrorFilename},
@ -511,14 +498,7 @@ end}.
both -> [ConsoleHandler, ConsoleFileHandler]; both -> [ConsoleHandler, ConsoleFileHandler];
_ -> [] _ -> []
end, end,
SyslogHandler = case cuttlefish:conf_get("log.syslog", Conf) of ConsoleHandlers ++ ErrorHandler ++ InfoHandler
false -> [];
true -> [{lager_syslog_backend,
[cuttlefish:conf_get("log.syslog.identity", Conf),
cuttlefish:conf_get("log.syslog.facility", Conf),
cuttlefish:conf_get("log.syslog.level", Conf)]}]
end,
ConsoleHandlers ++ ErrorHandler ++ InfoHandler ++ SyslogHandler
end end
}. }.