Andrew Thompson
dc750f5417
Supervisor children are not guranteed to be atoms. Fixes issue #33
il y a 13 ans
Andrew Thompson
c21f1bdd9b
Better crash reports for processes started via proc_lib, Fixes #31
il y a 13 ans
Andrew Thompson
24d8d05080
Supervisor child names can be strings
il y a 13 ans
Bryan Fink
c2b5f9f67c
don't quote atoms just for containing numerals
As long as the numeral is not the first character, it shouldn't force
quoting on the atom. For example, abc123 does not need quotes.
il y a 13 ans
Brendan Hay
446ca91d50
Prefixing alist/3 error to make it compile on R13A
il y a 13 ans
Andrew Thompson
16fb55890c
Correct printing of strings in mixed error reports (reported by Bryan Hughes)
Since the lager_format rewrite, ~p and ~w now have different behaviour
with regard to printing lists as strings.
il y a 13 ans
Andrew Thompson
5068e29383
Fix a couple minor issues with length calculation, add tests
il y a 13 ans
Andrew Thompson
f43fa83bcc
Fix a bug with how the remaining free space is calculated
il y a 13 ans
Andrew Thompson
5c7a79fdf9
Don't create a crash log called 'undefined'. Closes #26
il y a 13 ans
Andrew Thompson
f918156b10
Fix a bug with the calculation of the remaining length
If the result of the string format was longer than the remaining length,
the returned remaining length would be negative, which would make very
strange things happen.
il y a 13 ans
Andrew Thompson
ed7bc9a8a8
Add pid to the list of attributes automatically captured for tracing
il y a 13 ans
Andrew Thompson
c619263486
Cleanup unused handlers when a trace is removed, documentation
il y a 13 ans
Andrew Thompson
96e9f6eaae
Add a function for removing an active trace
il y a 13 ans
Andrew Thompson
bd9b66afbb
Don't allow a trace to be installed twice
il y a 13 ans
Andrew Thompson
0e70e68841
Add documentation & function to clear all traces
il y a 13 ans
Andrew Thompson
e3e8c80a04
Fix loglevel changes for files, now they've been refactored
il y a 13 ans
Andrew Thompson
ac8fb192b1
Implement console tracing, don't generate duplicate messages
il y a 13 ans
Andrew Thompson
d28e7c5f19
Initial attempt at a trace API, and a status() command
il y a 13 ans
Andrew Thompson
23cbc21964
Implement tracing for the file backend, with tests
il y a 13 ans
Andrew Thompson
39ef6e4a5c
Re-factor the file backend so it starts one gen_event handler per file
il y a 13 ans
Andrew Thompson
121c4c5241
Initial implementation of 'tracing'
il y a 13 ans
Jared Morrow
f435790657
Roll version 0.9.4
il y a 13 ans
Andrew Thompson
3311702a6d
Add builtin chomping to lager_format
il y a 13 ans
Andrew Thompson
31d9529e3e
Default to treating lists as strings, (and set it false for ~w)
il y a 13 ans
Andrew Thompson
9c6ce62ff8
Fix some more formatting bugs
il y a 13 ans
Andrew Thompson
de5d84e349
Fix how the name/pid of the process is printed in crash reports
Before this fix, the code assumed that processes without a registered
name omitted the {registered_name, X} tuple in the crash report. In
actual fact, process_info/2 returns [] when the process has no
registered name, so unregistered processes were being printed with a
"name" of "[]". This corrects the code to print the Pid in this case
instead.
il y a 13 ans
Jared Morrow
1d7b6903d5
Roll version 0.9.3
il y a 13 ans
Andrew Thompson
9e735a72ad
Improve tests, fix some minor bugs
il y a 13 ans
Andrew Thompson
d16dfaa0f8
Implement ~P/~W style depth-limiting
il y a 13 ans
Andrew Thompson
e5b58fc71e
Implement print options for trunc_io so ~s/~p/~w emulation is more accurate
Specifically, the handling of lists/binaries/atoms is closer to
io_lib:format's behaviour, and some regular expressions are eliminated.
il y a 13 ans
Andrew Thompson
e45d5bc3c9
Implement an alternative and much faster lager_trunc_io:format/3
il y a 13 ans
Andrew Thompson
5140cb3449
Don't convert \r, etc to spaces, don't assume printablility by first char
il y a 13 ans
Jared Morrow
8427d06cb7
Roll version 0.9.2
il y a 13 ans
Andrew Thompson
b61718ff80
Make the call to the crash log synchronous only when testing
il y a 13 ans
Andrew Thompson
4dfee06cd9
Make tests less dependant on timer:sleeps to function correctly
il y a 13 ans
Jared Morrow
80f5ffbe04
Version roll 0.9.1
il y a 13 ans
Andrew Thompson
7e9da648db
Several fixes for printing binaries, improve quote stripping
In string mode, "..", '..' and <<"..">> are stripped, just like with
io:format.
il y a 13 ans
Andrew Thompson
6fdbe25071
Use mfargs instead of name attribute as the way to detect supervisor_bridge
As Ryan pointed out, the 'name' of a supervisor's child may be
'undefined' for a simple_one_for_one supervisor.
il y a 13 ans
Andrew Thompson
53d5de448c
Fix term printing in errors to properly show embedded lists
The ~w formatting used before was not printing lists embedded in other
terms. This change uses trunc_io to print those terms safely and without
potentially introducing linebreaks (like ~p would)
il y a 13 ans
Andrew Thompson
af4ea7f31d
Don't treat floats in a list as printable characters Reported by @bryanhughes
The test if an element in a list was in the printable range didn't
handle the case of a float in the list that compared to be in the
printable range.
il y a 13 ans
Andrew Thompson
a0440a9d60
Smarter doublequote stripping when printing strings with ~s
il y a 13 ans
Andrew Thompson
9a577df2e0
Use the io_lib_format:fwrite_g function to print floats
This is superior to float_to_list as it only prints the meaningful
digits and 1.0 isn't rendered as "1.00000000000000000000e+00".
il y a 13 ans
Andrew Thompson
3babca112c
Make sure atoms needing quoting are quoted.
il y a 13 ans
Scott Lystig Fritchie
042e210a9d
Remove application:unload() calls from test code
il y a 13 ans
Scott Lystig Fritchie
83c2a412ab
Mash in the remainder of adt-error-format-protection branch
il y a 13 ans
Scott Lystig Fritchie
cf51ba06d3
Rename format_string_chop() -> safe_format_chop(), add -export
il y a 13 ans
Scott Lystig Fritchie
eea29bece1
Rework using safe_format() from one of Andrew's branches
il y a 13 ans
Scott Lystig Fritchie
9a6aff40a7
Add lager:log() message size truncation
Use lager_trunc_io:format() for all messages submitted via
lager:log(). Also, refactor list flattening and final newline
stripping into shared func that uses re:replace() to do both.
il y a 13 ans
Andrew Thompson
95f87e5d8b
Remove unecessary and pointless call to lists:flatten
il y a 13 ans
Andrew Thompson
19f2339458
Make console backend more robust against bad configuration
il y a 13 ans