Browse Source

ft: 代码调整

master
SisMaker 3 years ago
parent
commit
e5e623cd56
8 changed files with 44 additions and 26 deletions
  1. +3
    -3
      include/lgDef.hrl
  2. +1
    -1
      src/backend/lgBkdConsole.erl
  3. +6
    -6
      src/backend/lgBkdFile.erl
  4. +3
    -3
      src/crashLog/lgCrashLog.erl
  5. +1
    -3
      src/eLog_app.erl
  6. +24
    -6
      src/errLogger/lgErrLoggerH.erl
  7. +3
    -1
      src/utils/lgUtil.erl
  8. +3
    -3
      src/watcher/lgHWatcherSrv.erl

+ 3
- 3
include/lgDef.hrl View File

@ -94,7 +94,7 @@
, timer = make_ref() :: reference()
%% optional filter fun to avoid counting suppressed messages against Hwm totals
%% Hwm总数计算抑制消息
, filter :: fun() %% fun(_) -> false end :: fun()
, filter = undefined :: fun() %% fun(_) -> false end :: fun()
}).
-record(lgMsg, {
@ -121,9 +121,9 @@
%%
-define(LgLevels, [debug, info, notice, warning, error, critical, alert, emergency, none]).
-define(LgShouldLog(Sink, Level), (lgUtil:levelToNum(Level) band ?eLogCfg:get(Sink)) =/= 0).
-define(LgShouldLog(Sink, Level), ?eLogCfg:get(Sink) band Level =/= 0).
-define(LgShouldLog(Level), (lgUtil:levelToNum(Level) band ?eLogCfg:get(?LgDefSink)) =/= 0).
-define(LgShouldLog(Level), ?eLogCfg:get(?LgDefSink) band Level =/= 0).
-define(LgNotify(Level, Pid, Format, Args),
gen_emm:info_notify(?LgDefSink, {mWriteLog, #lgMsg{severity = Level, pid = Pid, node = node(), module = ?MODULE, function = ?FUNCTION_NAME, line = ?LINE, metadata = [], datetime = lgUtil:msToBinStr(), timestamp = lgTime:nowMs(), message = eFmt:formatBin(Format, Args), destinations = []}})).

+ 1
- 1
src/backend/lgBkdConsole.erl View File

@ -45,7 +45,7 @@ init(Opts) ->
_:_ -> error_logger:warning_msg(Msg ++ "~n")
end,
io:format("WARNING: " ++ Msg ++ "~n"),
?INT_LOG(warning, Msg, []),
?INT_LOG(?warning, Msg, []),
{error, {fatal, old_shell}};
_ ->
true = checkOpts(Opts),

+ 6
- 6
src/backend/lgBkdFile.erl View File

@ -90,7 +90,7 @@ init(Opts) ->
{ok, Fd, Inode, CTime, _Size} ->
{ok, TemState#state{fd = Fd, inode = Inode, cTime = CTime}};
{error, Reason} ->
?INT_LOG(error, "Failed to open log file ~ts with error ~s", [FileName, file:format_error(Reason)]),
?INT_LOG(?error, "Failed to open log file ~ts with error ~s", [FileName, file:format_error(Reason)]),
{ok, TemState#state{flap = true}}
end.
@ -101,7 +101,7 @@ handleCall({mSetLogLevel, Level}, #state{fileName = FileName} = State) ->
false ->
{reply, {error, bad_loglevel}, State};
LevelMask ->
?INT_LOG(notice, "Changed loglevel of ~s to ~p", [FileName, Level]),
?INT_LOG(?notice, "Changed loglevel of ~s to ~p", [FileName, Level]),
{reply, ok, State#state{level = LevelMask}}
end;
@ -111,7 +111,7 @@ handleCall({mSetLogHwm, Hwm}, #state{shaper = Shaper, fileName = FileName} = Sta
{reply, {error, badHwm}, State};
_ ->
NewShaper = Shaper#lgShaper{hwm = Hwm},
?INT_LOG(notice, "Changed loghwm of ~ts to ~p", [FileName, Hwm]),
?INT_LOG(?notice, "Changed loghwm of ~ts to ~p", [FileName, Hwm]),
{reply, {lastHwm, Shaper#lgShaper.hwm}, State#state{shaper = NewShaper}}
end;
handleCall(mRotate, State = #state{fileName = File}) ->
@ -194,7 +194,7 @@ writeLog(#state{fileName = FileName, fd = Fd, inode = Inode, cTime = CTime, flap
%% go around the loop again, we'll do another rotation check and hit the next clause of ensureLogFile
writeLog(TemState, Timestamp, Level, Msg);
{error, Reason} ->
?IIF(Flap, State, begin ?INT_LOG(error, "Failed to rotate log file ~ts with error ~s", [FileName, file:format_error(Reason)]), State#state{flap = true} end)
?IIF(Flap, State, begin ?INT_LOG(?error, "Failed to rotate log file ~ts with error ~s", [FileName, file:format_error(Reason)]), State#state{flap = true} end)
end;
_ ->
%% update our last check and try again
@ -202,7 +202,7 @@ writeLog(#state{fileName = FileName, fd = Fd, inode = Inode, cTime = CTime, flap
writeFile(TemState, Level, Msg)
end;
{error, Reason} ->
?IIF(Flap, State, begin ?INT_LOG(error, "Failed to reopen log file ~ts with error ~s", [FileName, file:format_error(Reason)]), State#state{flap = true} end)
?IIF(Flap, State, begin ?INT_LOG(?error, "Failed to reopen log file ~ts with error ~s", [FileName, file:format_error(Reason)]), State#state{flap = true} end)
end;
_ ->
writeFile(State, Level, Msg)
@ -217,7 +217,7 @@ writeFile(#state{fd = Fd, fileName = FileName, flap = Flap, syncOn = SyncOn} = S
NewFlap =
case file:datasync(Fd) of
{error, Reason} when Flap == false ->
?INT_LOG(error, "Failed to write log message to file ~ts: ~s", [FileName, file:format_error(Reason)]),
?INT_LOG(?error, "Failed to write log message to file ~ts: ~s", [FileName, file:format_error(Reason)]),
true;
ok ->
false;

+ 3
- 3
src/crashLog/lgCrashLog.erl View File

@ -57,7 +57,7 @@ init({RelFilename, MaxFmtSize, MaxFileSize, CfgDate, Count, Rotator}) ->
scheduleRotation(Date),
{ok, #state{fileName = Filename, fd = Fd, inode = Inode, cTime = CTime, maxFmtSize = MaxFmtSize, maxFileSize = MaxFileSize, date = Date, count = Count, rotator = Rotator}};
{error, Reason} ->
?INT_LOG(error, "Failed to open crash log file ~ts with error: ~s", [Filename, file:format_error(Reason)]),
?INT_LOG(?error, "Failed to open crash log file ~ts with error: ~s", [Filename, file:format_error(Reason)]),
{ok, #state{fileName = Filename, maxFmtSize = MaxFmtSize, maxFileSize = MaxFileSize, date = Date, count = Count, flap = true, rotator = Rotator}}
end.
@ -177,7 +177,7 @@ writeLog(Event, #state{fileName = FileName, fd = FD, inode = Inode, cTime = CTim
Msg = eFmt:formatBin("~s~s~s", [Time, MsgStr, NodeSuffix]),
case file:write(NewFD, unicode:characters_to_binary(Msg)) of
{error, Reason} when Flap == false ->
?INT_LOG(error, "Failed to write log message to file ~ts: ~s", [FileName, file:format_error(Reason)]),
?INT_LOG(?error, "Failed to write log message to file ~ts: ~s", [FileName, file:format_error(Reason)]),
{ok, State#state{fd = NewFD, inode = NewInode, cTime = NewCTime, flap = true}};
ok ->
{ok, State#state{fd = NewFD, inode = NewInode, cTime = NewCTime, flap = false}};
@ -186,7 +186,7 @@ writeLog(Event, #state{fileName = FileName, fd = FD, inode = Inode, cTime = CTim
end
end;
{error, Reason} ->
?IIF(Flap, {ok, State}, begin ?INT_LOG(error, "Failed to reopen crash log ~ts with error: ~s", [FileName, file:format_error(Reason)]), {ok, State#state{flap = true}} end)
?IIF(Flap, {ok, State}, begin ?INT_LOG(?error, "Failed to reopen crash log ~ts with error: ~s", [FileName, file:format_error(Reason)]), {ok, State#state{flap = true}} end)
end
end.

+ 1
- 3
src/eLog_app.erl View File

@ -160,10 +160,8 @@ tryStartErrLoggerHandler(_ErrLoggerRedirect, Hwm, WhiteList) ->
OldHandlers =
case supervisor:start_child(lgHWatcherSup, [error_logger, lgErrLoggerH, [Hwm, lgUtil:get_env(errLoggerGLS, handle)]]) of
{ok, _} ->
io:format("IMY******************* 111~n"),
[begin error_logger:delete_report_handler(X), X end || X <- gen_event:which_handlers(error_logger) -- [lgErrLoggerH | WhiteList]];
{error, _} = EEE ->
io:format("IMY*******************222 ~p~n", [EEE]),
{error, _} ->
[]
end,
OldHandlers.

+ 24
- 6
src/errLogger/lgErrLoggerH.erl View File

@ -10,12 +10,18 @@
-compile(inline).
-compile({inline_size, 128}).
-compile([export_all]).
-export([
setHighWater/1
, formatReason/1
, formatMfa/1
, formatArgs/2
,suppress_supervisor_start_and_application_start/1
,suppress_supervisor_start/1
,suppress_application_start/1
]).
-export([
@ -68,6 +74,9 @@ init([HighWaterMark, GlStrategy]) ->
Flush = lgUtil:get_env(errLoggerFlushQueue, true),
FlushThr = lgUtil:get_env(errLoggerFlushThr, 20),
Shaper = #lgShaper{hwm = HighWaterMark, flushQueue = Flush, flushThr = FlushThr, filter = shaperFun(), id = ?MODULE},
io:format("IMY*******************init1111111 ~p~n", [Shaper]),
Raw = lgUtil:get_env(errLoggerFmtRaw, false),
Sink = configSink(),
{ok, #state{sink = Sink, shaper = Shaper, groupleader_strategy = GlStrategy, raw = Raw}}.
@ -76,11 +85,10 @@ handle_call({mSetHighWater, N}, #state{shaper = Shaper} = State) ->
NewShaper = Shaper#lgShaper{hwm = N},
{ok, ok, State#state{shaper = NewShaper}};
handle_call(_Request, State) ->
io:format("IMY*********************handle_call111"),
{ok, unknown_call, State}.
handle_event(Event, #state{sink = Sink, shaper = Shaper} = State) ->
io:format("IMY**********************111111111 ~p~n", [Event]),
io:format("IMY**********************111111111 ~p ~p~n", [Event, Shaper]),
case lgUtil:checkHwm(Shaper, Event) of
{true, _Drop, NewShaper} ->
io:format("IMY**********************1111111110-0000 ~p~n", [Event]),
@ -573,26 +581,36 @@ shaperFun() ->
AppSS = lgUtil:get_env(suppressAppStartStop, false),
if
SupSS andalso AppSS ->
fun suppress_supervisor_start_and_application_start/1;
io:format("IMY********************shaperFun11111111"),
fun ?MODULE:suppress_supervisor_start_and_application_start/1;
SupSS ->
fun suppress_supervisor_start/1;
io:format("IMY********************shaperFun22222"),
fun ?MODULE:suppress_supervisor_start/1;
AppSS ->
fun suppress_application_start/1;
io:format("IMY********************shaperFun33333333333"),
fun ?MODULE:suppress_application_start/1;
true ->
fun(_) -> false end
io:format("IMY********************shaperFun44444"),
undefined
end.
suppress_supervisor_start_and_application_start(E) ->
io:format("IMY********************Fun111111"),
suppress_supervisor_start(E) orelse suppress_application_start(E).
suppress_application_start({info_report, _GL, {_Pid, std_info, D}}) when is_list(D) ->
io:format("IMY********************Fun14324234"),
lists:member({exited, stopped}, D);
suppress_application_start({info_report, _GL, {_P, progress, D}}) ->
io:format("IMY********************Fun14332424"),
lists:keymember(application, 1, D) andalso lists:keymember(started_at, 1, D);
suppress_application_start(_) ->
io:format("IMY********************Fun14334343"),
false.
suppress_supervisor_start({info_report, _GL, {_P, progress, D}}) ->
io:format("IMY********************Fun324324"),
lists:keymember(started, 1, D) andalso lists:keymember(supervisor, 1, D);
suppress_supervisor_start(_) ->
io:format("IMY********************Fun432432"),
false.

+ 3
- 1
src/utils/lgUtil.erl View File

@ -519,7 +519,9 @@ find_file(File1, [_HandlerInfo | Handlers]) ->
find_file(File1, Handlers).
%% conditionally check the Hwm if the event would not have been filtered
checkHwm(Shaper = #lgShaper{filter = Filter}, Event) ->
checkHwm(#lgShaper{filter = Filter} = Shaper, Event) ->
io:format("IMY**********************11~p~n", [Filter]),
case Filter =/= undefined andalso Filter(Event) of
true ->
{true, 0, Shaper};

+ 3
- 3
src/watcher/lgHWatcherSrv.erl View File

@ -107,17 +107,17 @@ installHandler(Module, Config, Sink) ->
end,
case Ret of
ok ->
?INT_LOG(debug, "eLog installed handler ~p into ~p ~p", [Module, Sink, whereis(Sink)]),
?INT_LOG(?debug, "eLog installed handler ~p into ~p ~p", [Module, Sink, whereis(Sink)]),
%eLog:updateLogevelCfg(Sink),
ok;
{error, {fatal, Reason}} ->
?INT_LOG(error, "eLog fatally failed to install handler ~p into ~p, NOT retrying: ~p", [Module, Sink, Reason]),
?INT_LOG(?error, "eLog fatally failed to install handler ~p into ~p, NOT retrying: ~p", [Module, Sink, Reason]),
%% tell ourselves to stop
self() ! stop,
ok;
Error ->
%% try to reinstall it later
?INT_LOG(error, "eLog failed to install handler ~p into ~p, retrying later : ~p", [Module, Sink, Error]),
?INT_LOG(?error, "eLog failed to install handler ~p into ~p, retrying later : ~p", [Module, Sink, Error]),
erlang:send_after(5000, self(), mReinstallHandler),
ok
end.

Loading…
Cancel
Save