austinsmorris
Does anybody know of a JSON backend for Logger that works with the updates in elixir 1.10? I had been using logger_json but that broke pretty bad with the erlang/otp logger integration introduced in elixir 1.10.0.
Thanks@
Trending in Questions
Hello!
Suppose you are building workflow (order / task / payment) processing system with the following requirements:
Each workflow con...
New
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app?
Looking for hints regarding:
Addi...
New
Hi all, I wanted to ask how the community is dealing with post-release steps.
Today we have Ecto migrations, which make sure that the db...
New
Kia ora,
We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
Hello,
I have an Elixir backend that implements a custom protocol over TCP. I want to load test the backend and assess the performance o...
New
Other Trending Topics
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #phoenix_html
- #iex
- #graphql
- #ai
- #genstage
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex











First Post!
chulkilee
I wrote a formatter (not logger backend) - metadata_logger
. it’s very conservative (e.g. it avoids own transformation - e.g. passing pid would lead to error message)
For Elixir 1.10 and OTP 22 - they introduced new metadata and I fixed the library at Handle metadata by chulkilee · Pull Request #12 · elixir-metadata-logger/metadata_logger · GitHub
Most Liked
hauleth
How did it break? Do you have link? Maybe I will be able to help.
In general the plan is to shift away from Elixir’s
Loggerformatters and backends and instead make use of Erlang’slogger.So the “simplest” way for “modern” handling would be to (unfortunately) write custom formatter (that implements one function
format/2) and then use it together with whatever backend you like.EDIT:
I will try to provide an example later.
fuelen
we use ink at work.
Test with Elixir 1.10:
josevalim
Luckily the fix should be easy: just remove the fields with process information from the metadata. It probably already keeps a list of fields to remove, we just need to update it.
Last Post!
chulkilee
As erlang and elixir logger sees the same logger message.. new metadata field may be added by either erlang or elixir. I believe previously Elixir.Logger would transform or fill metadata… but now I guess it does not (or will not) transform metadata, as a log message can be from erlang.
Anyway, metadata_loggerI converts metadata to map (dropping duplicated metadata!) and convert “known” values (e.g.
gl).Instead of doing converting “known” values - I may make it iterate all metadata (recursively or not) and transform values not implementing Jason protocol… but I want to avoid for performance reason. Or I may just implement Jason protocol to pid… but should I? I don’t want to “pollute” module not defined by my library..