fix logger
This commit is contained in:
parent
e5773800e3
commit
83fe003b05
@ -25,11 +25,12 @@
|
|||||||
%% 最大数据缓冲量
|
%% 最大数据缓冲量
|
||||||
-define(MAX_QUEUE_SIZE, 5_000_000).
|
-define(MAX_QUEUE_SIZE, 5_000_000).
|
||||||
|
|
||||||
|
%% 处理日志信息
|
||||||
|
-define(log(Msg), north_data:info(Msg)).
|
||||||
|
|
||||||
-record(state, {
|
-record(state, {
|
||||||
mqtt_opts = [],
|
mqtt_opts = [],
|
||||||
postman_pid :: undefined | pid(),
|
postman_pid :: undefined | pid(),
|
||||||
logger_pid :: pid(),
|
|
||||||
|
|
||||||
%% 数据缓存队列
|
%% 数据缓存队列
|
||||||
iot_queue,
|
iot_queue,
|
||||||
|
|
||||||
@ -79,10 +80,8 @@ init([]) ->
|
|||||||
erlang:process_flag(trap_exit, true),
|
erlang:process_flag(trap_exit, true),
|
||||||
%% 创建转发器, 避免阻塞当前进程的创建,因此采用了延时初始化的机制
|
%% 创建转发器, 避免阻塞当前进程的创建,因此采用了延时初始化的机制
|
||||||
erlang:start_timer(0, self(), create_postman),
|
erlang:start_timer(0, self(), create_postman),
|
||||||
%% 启动日志记录器
|
|
||||||
{ok, LoggerPid} = iot_logger:start_link("north_data"),
|
|
||||||
|
|
||||||
{ok, disconnected, #state{mqtt_opts = Opts, iot_queue = iot_queue:new(?MAX_QUEUE_SIZE), postman_pid = undefined, logger_pid = LoggerPid}}.
|
{ok, disconnected, #state{mqtt_opts = Opts, iot_queue = iot_queue:new(?MAX_QUEUE_SIZE), postman_pid = undefined}}.
|
||||||
|
|
||||||
%% @private
|
%% @private
|
||||||
%% @doc This function is called by a gen_statem when it needs to find out
|
%% @doc This function is called by a gen_statem when it needs to find out
|
||||||
@ -133,9 +132,9 @@ handle_event(info, fetch_next, connected, State = #state{postman_pid = PostmanPi
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
%% 收到确认消息
|
%% 收到确认消息
|
||||||
handle_event(info, {ack, AssocMessage}, StateName, State = #state{timer_ref = TimerRef, logger_pid = LoggerPid}) ->
|
handle_event(info, {ack, AssocMessage}, StateName, State = #state{timer_ref = TimerRef}) ->
|
||||||
%% 记录日志信息
|
%% 记录日志信息
|
||||||
iot_logger:write(LoggerPid, AssocMessage),
|
?log(iolist_to_binary(AssocMessage)),
|
||||||
|
|
||||||
Actions = case StateName =:= connected of
|
Actions = case StateName =:= connected of
|
||||||
true -> [{next_event, info, fetch_next}];
|
true -> [{next_event, info, fetch_next}];
|
||||||
|
|||||||
@ -158,7 +158,26 @@
|
|||||||
{lager_file_backend, [{file, "notice.log"}, {level, notice}, {size, 314572800}]},
|
{lager_file_backend, [{file, "notice.log"}, {level, notice}, {size, 314572800}]},
|
||||||
{lager_file_backend, [{file, "error.log"}, {level, error}, {size, 314572800}]},
|
{lager_file_backend, [{file, "error.log"}, {level, error}, {size, 314572800}]},
|
||||||
{lager_file_backend, [{file, "info.log"}, {level, info}, {size, 314572800}]}
|
{lager_file_backend, [{file, "info.log"}, {level, info}, {size, 314572800}]}
|
||||||
|
]},
|
||||||
|
|
||||||
|
%% 自定义接收器
|
||||||
|
{extra_sinks, [
|
||||||
|
{north_data_lager_event, [
|
||||||
|
{handlers, [
|
||||||
|
{lager_file_backend, [
|
||||||
|
{file, "north_data.log"},
|
||||||
|
{level, info},
|
||||||
|
{date, "$D0"},
|
||||||
|
{count, 15},
|
||||||
|
{formatter, lager_default_formatter},
|
||||||
|
{formatter_config, ["[", date, " ", time, "] ", message, "\n"]}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{async_threshold, 500},
|
||||||
|
{async_threshold_window, 50}
|
||||||
]}
|
]}
|
||||||
]}
|
]}
|
||||||
|
|
||||||
|
]}
|
||||||
|
|
||||||
].
|
].
|
||||||
|
|||||||
@ -146,6 +146,24 @@
|
|||||||
{lager_file_backend, [{file, "notice.log"}, {level, notice}, {size, 314572800}]},
|
{lager_file_backend, [{file, "notice.log"}, {level, notice}, {size, 314572800}]},
|
||||||
{lager_file_backend, [{file, "error.log"}, {level, error}, {size, 314572800}]},
|
{lager_file_backend, [{file, "error.log"}, {level, error}, {size, 314572800}]},
|
||||||
{lager_file_backend, [{file, "info.log"}, {level, info}, {size, 314572800}]}
|
{lager_file_backend, [{file, "info.log"}, {level, info}, {size, 314572800}]}
|
||||||
|
]},
|
||||||
|
|
||||||
|
%% 自定义接收器
|
||||||
|
{extra_sinks, [
|
||||||
|
{north_data_lager_event, [
|
||||||
|
{handlers, [
|
||||||
|
{lager_file_backend, [
|
||||||
|
{file, "north_data.log"},
|
||||||
|
{level, info},
|
||||||
|
{date, "$D0"},
|
||||||
|
{count, 10},
|
||||||
|
{formatter, lager_default_formatter},
|
||||||
|
{formatter_config, ["[", date, " ", time, "] ", message, "\n"]}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{async_threshold, 500},
|
||||||
|
{async_threshold_window, 50}
|
||||||
|
]}
|
||||||
]}
|
]}
|
||||||
]}
|
]}
|
||||||
|
|
||||||
|
|||||||
@ -43,7 +43,10 @@
|
|||||||
]
|
]
|
||||||
}]}]}.
|
}]}]}.
|
||||||
|
|
||||||
{erl_opts, [{parse_transform,lager_transform}]}.
|
{erl_opts, [
|
||||||
|
{parse_transform,lager_transform},
|
||||||
|
{lager_extra_sinks, [north_data]}
|
||||||
|
]}.
|
||||||
|
|
||||||
{rebar_packages_cdn, "https://hexpm.upyun.com"}.
|
{rebar_packages_cdn, "https://hexpm.upyun.com"}.
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user