Andrew Thompson
dc750f5417
Supervisor children are not guranteed to be atoms. Fixes issue #33
13 years ago
Andrew Thompson
c21f1bdd9b
Better crash reports for processes started via proc_lib, Fixes #31
13 years ago
Andrew Thompson
24d8d05080
Supervisor child names can be strings
13 years ago
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.
13 years ago
Brendan Hay
446ca91d50
Prefixing alist/3 error to make it compile on R13A
13 years ago
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.
13 years ago
Andrew Thompson
5068e29383
Fix a couple minor issues with length calculation, add tests
13 years ago
Andrew Thompson
f43fa83bcc
Fix a bug with how the remaining free space is calculated
13 years ago
Andrew Thompson
5c7a79fdf9
Don't create a crash log called 'undefined'. Closes #26
13 years ago
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.
13 years ago
Andrew Thompson
ed7bc9a8a8
Add pid to the list of attributes automatically captured for tracing
13 years ago
Andrew Thompson
c619263486
Cleanup unused handlers when a trace is removed, documentation
13 years ago
Andrew Thompson
96e9f6eaae
Add a function for removing an active trace
13 years ago
Andrew Thompson
bd9b66afbb
Don't allow a trace to be installed twice
13 years ago
Andrew Thompson
0e70e68841
Add documentation & function to clear all traces
13 years ago
Andrew Thompson
e3e8c80a04
Fix loglevel changes for files, now they've been refactored
13 years ago
Andrew Thompson
ac8fb192b1
Implement console tracing, don't generate duplicate messages
13 years ago
Andrew Thompson
d28e7c5f19
Initial attempt at a trace API, and a status() command
13 years ago
Andrew Thompson
23cbc21964
Implement tracing for the file backend, with tests
13 years ago
Andrew Thompson
39ef6e4a5c
Re-factor the file backend so it starts one gen_event handler per file
13 years ago
Andrew Thompson
121c4c5241
Initial implementation of 'tracing'
13 years ago
Jared Morrow
f435790657
Roll version 0.9.4
13 years ago
Andrew Thompson
3311702a6d
Add builtin chomping to lager_format
13 years ago
Andrew Thompson
31d9529e3e
Default to treating lists as strings, (and set it false for ~w)
13 years ago
Andrew Thompson
9c6ce62ff8
Fix some more formatting bugs
13 years ago
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.
13 years ago
Jared Morrow
1d7b6903d5
Roll version 0.9.3
13 years ago
Andrew Thompson
9e735a72ad
Improve tests, fix some minor bugs
13 years ago
Andrew Thompson
d16dfaa0f8
Implement ~P/~W style depth-limiting
13 years ago
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.
13 years ago
Andrew Thompson
e45d5bc3c9
Implement an alternative and much faster lager_trunc_io:format/3
13 years ago
Andrew Thompson
5140cb3449
Don't convert \r, etc to spaces, don't assume printablility by first char
13 years ago
Jared Morrow
8427d06cb7
Roll version 0.9.2
13 years ago
Andrew Thompson
b61718ff80
Make the call to the crash log synchronous only when testing
13 years ago
Andrew Thompson
4dfee06cd9
Make tests less dependant on timer:sleeps to function correctly
13 years ago
Jared Morrow
80f5ffbe04
Version roll 0.9.1
13 years ago
Andrew Thompson
7e9da648db
Several fixes for printing binaries, improve quote stripping
In string mode, "..", '..' and <<"..">> are stripped, just like with
io:format.
13 years ago
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.
13 years ago
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)
13 years ago
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.
13 years ago
Andrew Thompson
a0440a9d60
Smarter doublequote stripping when printing strings with ~s
13 years ago
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".
13 years ago
Andrew Thompson
3babca112c
Make sure atoms needing quoting are quoted.
13 years ago
Scott Lystig Fritchie
042e210a9d
Remove application:unload() calls from test code
13 years ago
Scott Lystig Fritchie
83c2a412ab
Mash in the remainder of adt-error-format-protection branch
13 years ago
Scott Lystig Fritchie
cf51ba06d3
Rename format_string_chop() -> safe_format_chop(), add -export
13 years ago
Scott Lystig Fritchie
eea29bece1
Rework using safe_format() from one of Andrew's branches
13 years ago
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.
13 years ago
Andrew Thompson
95f87e5d8b
Remove unecessary and pointless call to lists:flatten
13 years ago
Andrew Thompson
19f2339458
Make console backend more robust against bad configuration
13 years ago