Added to patternLayout the following fields:
- %M - function name of the caller issuing the logging request
- %C - class name of the caller issuing the logging request
- %A - function alias of the caller issuing the logging request
The first two come from log4j, and use the same field specifiers.
When called from method bar of a Class foo:
- %M will be replaced with bar
- %C will be replaced with Foo
- %A will be empty
When called from function foo:
- %M will be replaced with foo
- %C will be empty
- %A will be empty
%A will be non empty only if the call stack parsed to obtain the values
contains string [as foo].
CircularJSON is now deprecated, so replace it with its successor
and use it in the sole location where we used CircularJSON, ie
in the LoggingEvent serialization/deserialization functions
* npm - install flatted, remove circular-json
* LoggingEvent - use flatted for serialization/deserialization
* tests - acknowledge that flatted (and circular-json) should not
parse anything other than their respective serialized payloads
and use flatted when parsing/stringifying test data