QoL fixes
Remove Logger side effects Fix empty lines crashing Fix >1 "=" on the line Fix path vs filename confusion
Feel free to pick some stuff out if anything is useful. Elixir Logger is a problem for us in prod (it doesn't scale as all msgs to go 1 process) and we need precise control over all IO; actually we have our own logger. This was a bit rushed with the Logger but your repo is GNU license :) (even if it wasn't I would still contribute back a few internal fixes we made, its the right thing to do)
Very curious about what you're saying regarding the Logger not scaling in Prod. ðŸ’
Is this documented anywhere public e.g. a blog post, forum topic or StackOverflow Q/A? (really want to read more!) 👀
I think a good thing to do would be make the logs configurable in config/{env}.exs file ... 💡
Very curious about what you're saying regarding the
Loggernot scaling inProd. thought_balloon Is this documented anywherepublice.g. a blog post, forum topic or StackOverflow Q/A? (really want to read more!) eyes I think a good thing to do would be make the logs configurable inconfig/{env}.exsfile ... bulb
Freds work is/(was?) logging at Heroku he often has good opinions like https://ferd.ca/erlang-otp-21-s-new-logger.html.
I dont have anything solid on hand but one issue off the top of my head was general spam of crash reports so we had to rely on :proc_lib.spawn instead of :erlang.spawn and handle exit errors+crashes properly (or they would get lost).
Another was IO of a single gen_server doing logging cant keep up, we had to split process_groups/modules into individual loggers + files, imagine a game with 30k players connected concurrently, each logging every action that is taken like "walk to X" "attack with sword". Theres a module responsible for a marketplace in the game, guild chats, global chats, etc.
Third is the Elixir logger has its own formatting, sometimes you want to intercept that to apply custom formatting but the exposed interface for that is very narrow (maybe its gotten better in recent Elixlir).