Pedram Nimreezi
95b3fb0c87
Implement event stream processing
Adds transparent event stream processing and statistics.
A new 3-tuple trace is introduced as `{Key, Op, Value}`, but
for backwards compatibility `{Key, Val}` implies `=` for `Op`
and `{Key, '*'}` remains as is in the case of wildcards.
A simplified query tree module is generated which reduces
redundant selection conditions to minimize filtering overhead.
12 years ago
Andrew Thompson
f4f3dd3817
Rewrite to use a bitmask to represent active loglevels
Also, adapt the rest of lager to use this bitmask as well.
12 years ago
Andrew Thompson
a192bd9e91
Replace mochiglobal with a public ETS table
This also removes the dependency on the syntax_tools and compiler
applications, which interfered with lager's startup/shutdown order.
12 years ago
Andrew Thompson
e04830b382
Tag lager_msg messages with a {log, ...} tuple
Helps with pattern matching.
12 years ago
Andrew Thompson
180e09fd01
Use an opaque type with a module for accessors rather than a record
I didn't want the lager_log_message record being used across application
boundaries, this will insulate other applications from any changes to
the message type's internal structure.
12 years ago
Andrew Thompson
12a784b18e
Time makes fools of us all
12 years ago
Andrew Thompson
55283cc2c2
Make the default truncation limit a macro
12 years ago
Andrew Thompson
05718792ae
Whitespace cleanups
13 years ago
Jason Wagner
0415d21669
Changed the messages sent to the backends to include metadata and separated formatting from the backend. Added documentation, fixed tests, and removed some unused code.
13 years ago
Andrew Thompson
d28e7c5f19
Initial attempt at a trace API, and a status() command
13 years ago
Andrew Thompson
121c4c5241
Initial implementation of 'tracing'
13 years ago
Andrew Thompson
d828c35f12
Fixup the tests after merging in the rotation code
13 years ago
Andrew Thompson
116ee8d890
Try to preserve internal log messages generated before lager boots
If backends have a failure or something, don't discard the messages,
wait half a second and then try sending them again.
13 years ago
Andrew Thompson
3fe861c348
Lots of tests for the file backend
13 years ago
Andrew Thompson
ec61e88d8a
Make the dialyzer happy.
14 years ago
Andrew Thompson
077f218cd9
Make logging not crash when lager is not running
14 years ago
Andrew Thompson
5394a7d3fd
Add lager.hrl
14 years ago