-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MicrosoftExtensionsLogging: Add each log argument/attribute to the context data #2519
Comments
@tylerohlsen thank you for submitting this feature request. I passed the information along to other members of the team so that it can be further reviewed. |
Very useful to get the message attributes parsed by New Relic. |
@nrcventura I'm not seeing a linked PR nor release notes of a related change that would include what was requested here. Could you point me to the PR or release that included this request? Or is there a different reason why this was closed? |
Unfortunately, the tooling that product management uses for managing feature requests does not update github with meaningful information. From what I can tell in the other system, the feature request went from the "gathering interest" step to the "closed" step with a "resolution" of future consideration. I did not see any more information about it. |
Well that's disappointing. I can't recommend using NewRelic without this feature. Too much very important contextual information is lost without it. |
I agree with @tylerohlsen, this feature is already present in Python APM Agent and is the basis of Structured/Semantic Logging. Some projects use only Microsoft.Extensions.Logging without a logging framework or implementation like Serilog/NLog/log4net due to not requiring persisting/storing/forwarding the logs to any system except NR1. This approach is lighter and removes one dependency and some configuration effort. |
Hi @tylerohlsen (and @dolivanu ) -- apologies for the lack of communication. We did some restructuring of our internal Jira board and some Feature Requests auto-closed, and I missed that this needed an update. Unfortunately this is one of those issues that sounds simple but isn't in practice. Unlike e.g. Serilog, or even Serilog-backed-MEL, there's no practical place for us to grab the attributes (And even just the context data was a challenge!). If we had a path forward we would add this support but at the moment we don't. Thank you for communicating that this is still important to you. I'll reopen this Feature Request and we'll take another stab at it. |
Thanks @chynesNR, would be great if can provide extra clarifications:
|
Hi @dolivanu -- It sounds like you might be better off using one of our other log forwarding options so you don't have to rely on in-Agent forwarding. If you do want to stick with in-Agent forwarding, I believe using Serilog.Extensions.Logging should work for you (i.e. giving you MEL and structured logging). |
Feature Description
Currently, with MEL, only log scopes are included in the context data (using
logger.BeginScope(...)
). The log attributes that are passed as arguments to the standardlogger.Log*
methods are not in the context data. They are included in the formatted message, but then they lose a lot of value because they need to be parsed back out during ingestion.For example, explicit calls to the logger (or logger extension methods) like this do not have MyData as a context data value:
or via the Source Generator (generated) calls like this do not have the RouteData, MethodInfo, etc as context data values:
Describe Alternatives
None considered
Additional context
I believe this already works as described with other loggers (e.g. Serilog and NLog), but I could be wrong.
Priority
Really Want
The text was updated successfully, but these errors were encountered: