diff options
author | Siri Hansen <[email protected]> | 2018-11-30 17:45:18 +0100 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2018-11-30 17:45:18 +0100 |
commit | c64420ee0c50958c61958fcec4947fbbe721a661 (patch) | |
tree | 6b774c053cd4d45021a4b21406867604191a0d4b /lib/kernel/test/logger_std_h_SUITE.erl | |
parent | 892409dd4a517f2a6d75db13384c468519df899f (diff) | |
download | otp-c64420ee0c50958c61958fcec4947fbbe721a661.tar.gz otp-c64420ee0c50958c61958fcec4947fbbe721a661.tar.bz2 otp-c64420ee0c50958c61958fcec4947fbbe721a661.zip |
[logger] Re-create log file if deleted
This is an update to logger_std_h, which makes it play well with tools
like logrotate.
Diffstat (limited to 'lib/kernel/test/logger_std_h_SUITE.erl')
-rw-r--r-- | lib/kernel/test/logger_std_h_SUITE.erl | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/lib/kernel/test/logger_std_h_SUITE.erl b/lib/kernel/test/logger_std_h_SUITE.erl index a1159f280c..eb17a6d857 100644 --- a/lib/kernel/test/logger_std_h_SUITE.erl +++ b/lib/kernel/test/logger_std_h_SUITE.erl @@ -136,7 +136,8 @@ all() -> mem_kill_new, mem_kill_std, restart_after, - handler_requests_under_load + handler_requests_under_load, + recreate_deleted_log ]. add_remove_instance_tty(_Config) -> @@ -1255,6 +1256,22 @@ handler_requests_under_load(Config) -> handler_requests_under_load(cleanup, _Config) -> ok = stop_handler(?MODULE). +recreate_deleted_log(Config) -> + {Log,_HConfig,_StdHConfig} = + start_handler(?MODULE, ?FUNCTION_NAME, Config), + logger:notice("first",?domain), + logger_std_h:filesync(?MODULE), + ok = file:rename(Log,Log++".old"), + logger:notice("second",?domain), + logger_std_h:filesync(?MODULE), + {ok,<<"first\n">>} = file:read_file(Log++".old"), + {ok,<<"second\n">>} = file:read_file(Log), + ok. +recreate_deleted_log(cleanup, _Config) -> + ok = stop_handler(?MODULE). + +%%%----------------------------------------------------------------- +%%% send_requests(HName, TO, Reqs = [{Req,Res}|Rs]) -> receive {From,finish} -> @@ -1276,8 +1293,8 @@ send_requests(HName, TO, Reqs = [{Req,Res}|Rs]) -> %%%----------------------------------------------------------------- %%% -start_handler(Name, TTY, Config) when TTY == standard_io; - TTY == standard_error-> +start_handler(Name, TTY, _Config) when TTY == standard_io; + TTY == standard_error-> ok = logger:add_handler(Name, logger_std_h, #{config => #{type => TTY}, |