It's usually needed earlier than the message itself. And may even be used
to skip formatting altogether, with `msg_fun()` facility in Erlang
logger.
Simplify event handler interface which should make this module more
usable down the line.
Also use monotonic timestamps when measuring time intervals.
* Implement woody_client_thrift_v2 over new thrift codec facility, make it default
* Move tracing facilities into woody_trace_h
* Implement woody_server_thrift_v2 over thrift codec facility, make it default
* Bump to rbkmoney/genlib@54920e76
* Enforce tuple-based args representation
* Enable cross tests between impls
* Switch to master rbkmoney/thrift_erlang@4eda678c
* Add compex term formatting microbenchmark
* Format FP numbers more neatly
* Provide fast-path verbatim term formatter
* Add memory pressure benchmark runner
* Switch to rebar3_bench 0.2.1 package
* Employ assert macros throughout main ct suite
* Force print trace_id and Co
* Use integer control char for formtatting numbers
* Sync
* Fix format for "wrong" struct
* Replace string formatting with inplace string representation
* Replace foldl with tail call
* Added opts comntainer
* Add formatting with depth
* Simplify depth increment
* More depth tests
* Format test data
* lint fixes
* Fix dialyzer errors
* Introduce current_length and max_length
* Add first tests for max_length
* Add length options
* Fix state in format_struct
* Fix test
* Move depth to stack from state
* Move length from state to stack
* Added more test on chars limit
* More tests
* Try to log more data nj logs
* Cleanup
* Fix line count in arguments
* Add missing formatted text in list and map
* Add comment to raw_string
* Formating
* Replace format with concatenation
* Fix dialyzer errors
* Fix lint errors
* Ignore false positives
* Added tests for max_length and max_depth
* Let logger decide how to format data in case of error
* Add formatter options to meta
* Fix lint error
* Increase complexity for dont_repeat_yourself
* Increase compliexity - 2
* Decrease complexity to minimal for current codebase
* Do not add '...' if no more argemunts in call
* Unify arguments for maybe_add_delimiter and may_be_add_more_marker
* Fix formating for list/set/map
* Simplify format build
* Log error
* Review fixes
* Move formatter options to environment
* Minor fixes and code cleanup
* Fix Opts
* Review fix
* Rework exception handling
* Move list and set format to separate functions
* Fix possible injection
* Eliminate possible badmatch
* Allow more complex dry
* Add test for sets
* Rework list formatter
* More strict limit for length
* Minor cleanup
* Remove unreachable code
* Switch back to formatter
* Remove unneeded flatten
* Do not format last list element if there is no room for it
* Remove unused Param
* Fix
* Simplify formatting call
* Add missing delimiter length
* Fix woody_event_formatter:format_reply/3
* Cleanup
* Add Opts to formatters
* Make skip message compact
* use ~w instead of ~p
* Typo
* Add formatter_opts to woody:options()
* Rework options
* Added escape for "'"
* Rework tests
* Fix tests
* Rework
* AAA-54: Add event formatter
* More tests enabled
* Fix list of unoins
* Fix list of structures test
* Added reply formatter
* Enable another reply test
* Fix format error
* Add reply formatting
* Enable cover
* Add missing Value types
* Fix formattin typo
* Fix lint errors
* More formatting
* Fix dialyzer error
* Fix enum format
* Simplify format rules for enum
* Add unit type to log
* Add more info for union
* Remove unused wxtra formatting
* Use compact formatting rules for unknown data
* Simplify formatting
* Refactor formatting
* Add set formatting
* Move request formatting to woody_event_formatter
* Move reply formatting to woody_event_formatter
* Module cleanup
* Fix lint errors
* Fix dialyzer errors
* Add exception handling
* Fix remove custom msgpack formatting
* Add more non-printable string detection merthods
* Better name for formatting function
* Make BERT comment more valuable
* Skip middle elements in long lists
* Typo in comment
* Stick with latest damsel and mg_proto for tests
* Fix damsel commit
* Replace hand made printable function with standard
* Check full string to avoid false positives
* Allow unicode strings
* Add comment
* Mark "broken" binary data as non-printable
* Fix lint
* align rpc id handling with new requirements
* add new interface woody.erl, mv woody_t -> woody
* bump up thrift for the latest thrift_membuffer_transport
* remove woody:call_safe/3, woody_client:call_safe/3 from client API
* add cowboy net_opts to Server API
* Introduce event formatter to woody_event_handler
* Refactor events
* Remove outdated exception from the elvis rules
* Update woody_server_thrift_handler internal API
* make Opts optional for handlers
* add default event handler
* bump up hackney
* update README
* fix issues: 12, 18, 20, 21, 25, 26, 31, 37
* start using build_utils
* simplify woody_client:result_ok() type (issue 10)
* use integer snowflake id
* rename woody_client_thrift:format_return/3 (issue 11)
* provide details to event_handler for http errors (issue 15)
* clarify net_opts() for woody_server_thrift_http_handler:options() type
* switch snoflake to rbkmoney fork
* update readme
* introduce lint and fix lint warnings
* add woody_client:make_id_int/0 API function