Skip to content
This repository has been archived by the owner on Nov 2, 2018. It is now read-only.

Make serializer a little more forgiving when keys collide. #46

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jeffgoo
Copy link

@jeffgoo jeffgoo commented Oct 5, 2018

Thanks for sharing this project. This PR addresses something we saw in a production environment where pushed an nlog config change that referenced MDC items in the GelfTcp target that I didn't realize were already passed in eventInfo.Properties. That is, an MDC item had the same name as an nlog event info property. This caused a key collision and an exception in the code that serializes to a JsonObject. That's my bad. But this exception also resulted in 5 retries so one predictable exception became 6 due to retry logic that is really geared toward network transport issues. With multiple exceptions on every other log message sent to the GelfTcp target my nlog config change ended up pegging our CPU. Why not just log this at error or debug level and move on or scope the retry logic down to transport issues? Hope this is helpful.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant