Age | Commit message (Collapse) | Author |
|
* siri/logger/file-logging-improvements:
[logger] Add option file_check to logger_std_h
[logger] Add log file rotation by options to logger_std_h
[logger] Add better control of file modes in logger_std_h
[logger] Refactor logger_std_h
[logger] Make sure log file is re-opened with configured file options
|
|
OTP-15663
This option indicates how often the handler shall check if the log
file still exists and if the inode is changed.
|
|
OTP-15479
OTP-15662
New configuration map for logger_std_h:
#{type => file,
file => file:filename(),
modes => [file:mode()],
max_no_bytes => pos_integer() | infinity,
max_no_files => non_neg_integer(),
compress_on_rotate => boolean()}
For backwards compatibility, the old variant for specifying the file
name via the 'type' parameter is still supported, i.e. {file,FileName}
and {file,FileName,Modes}, but it is no longer documented.
Rotation scheme:
The current log file always has the same name, and the archived files
get extensions ".0", ".1", ... The newest archive has extension ".0",
and the oldest archive has the highest number.
If 'compress_on_rotate' is set to true, the archived files are gzipped
and get the additional extension ".gz", e.g. error.log.0.gz.
Rotation is turned off by setting 'max_no_bytes' to infinity. Setting
'max_no_files' to 0 does not turn off rotation, but only specifies
that no archives are to be saved.
|
|
* siri/logger/bench:
[logger] Add benchmark of big log events with chars_limit and max_size
[logger] Add max memory usage to statistics in logger_olp
Skip logger benchmarks in normal kernel test
[logger] Add benchmark of events per millisecond for handlers
|
|
|
|
|
|
|
|
OTP-15602
It is allowed to set file modes for the handler to use when opening
its log file. The given modes were earlier accepted without any
checks, which could make the handler behave unexpectedly. This commit
makes sure that
* if none of write, append or exclusive is given, then append is added
* if raw is not given, it is added
* if delayed_write or {delayed_write,_,_} is not given, then
delayed_write is added
|
|
* inet_db-startup-fix:
Set early enough start time
inet_db: fix a bug when .hosts file is never reloaded
|
|
* siri/logger/os-timestamp/OTP-15625:
Update preloaded
[logger] Change timestamp from erlang:system_time to os:system_time
|
|
Add application:set_env/1 and application:set_env/2
OTP-15642
|
|
It is equivalent to calling application:set_env/4 on
each application individually, except it is more efficient.
When given duplicate apps or duplicate keys, set_env/1
and set_env/2 will warn. The warning will also be emitted
during boot:
$ erl -config dupkeys.config -s erlang halt
2019-02-27 11:16:02.653100 application: kernel; duplicate parameter: key1
=WARNING REPORT==== 27-Feb-2019::11:16:02.653100 ===
application: kernel; duplicate parameter: key1
$ erl -config dupapps.config -s erlang halt
2019-02-27 11:16:02.653100 duplicate application config: kernel
=WARNING REPORT==== 27-Feb-2019::11:16:02.653100 ===
duplicate application config: kernel
Prior to this patch, the behaviour was unspecified,
and duplicate keys and duplicate apps would behave
different depending on the amount of config, the name
of the config files, and how those configs would be
listed. The goal is to raise an error in the future.
|
|
|
|
This is to align the timestamps with external logs.
|
|
* siri/logger/check-inode-of-log/ERL-850/OTP-15578:
[logger] Keep track of inode for logger_std_h log file
|
|
* siri/logger/pretty-print-config/OTP-15600:
[logger] Add pretty print function for configuration
|
|
|
|
If the inode changes, the file is now reopened. This may happen, for
instance, if the log file is opened and saved by an editor.
|
|
* lukas/erts/fix_inet_multitimer_cleanup/OTP-15536:
erts: Fix cleanup of the inet MultiTimer
|
|
|
|
Also remove some compiler warnings from test suite.
|
|
|
|
These are not documented, and only used in test. The test now uses
logger_olp directly instead.
|
|
|
|
This is to ensure that logger_proxy gets the same config after a
restart.
|
|
The new file logger_olp.hrl is added.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If .hosts file does not exist when kernel application starts, it will never get reloaded.
|
|
* raimo/test-cuddling:
Rewrite to work for stream connection
Update Linux version for pktoptions TTL
|
|
|
|
A copy has to be made of the message as there is
a trace token. There was a bug where the actual
message was incorrectly modified even if it was a
literal.
|
|
* sverker/erts/sendfile-error-bug/ERL-784/OTP-15461:
erts: Fix hanging sendfile bugs when socket closes unexpectedly
erts: Fix unexpected inet_reply message from failing file:sendfile
erts: Fix bug in sendfile for active socket
|
|
* siri/logger/std-recreate-file-if-rotated/OTP-15469:
[logger] Re-create log file if deleted
|
|
* raimo/test-cuddling:
Parallel stress test strong_rand_bytes
Update OS version numbers
|
|
This is an update to logger_std_h, which makes it play well with tools
like logrotate.
|
|
* siri/logger/refactor-built-in-handlers:
[logger] Write asynchronously to disk log
[logger] Add statistics counter for drops due to message bursts
[logger] Further refactor built-in handlers
[logger] Move common handler code to logger_h_common
|
|
A failing file:sendfile call would often send a message
{inet_reply, Port, {error, Reason}} that would pollute the mailbox
of the calling process.
TCP_REQ_SENDFILE has its own reply messages format
{sendfile, _, _} and does not expect an inet_reply message.
Solution: Suppress inet_reply error message if TCP_ADDF_SENDFILE
is set.
|
|
driver_select() was called after port had been killed
by tcp_inet_sendfile() calling tcp_send_error().
|
|
|
|
* raimo/tcp-close-while-send/maint/ERL-561/OTP-12242:
Write test case
Fix hanging gen_tcp send vs close race
Conflicts:
erts/preloaded/ebin/prim_inet.beam
|
|
|