-
Notifications
You must be signed in to change notification settings - Fork 208
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
Enable global file logging #2371
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of minor fix suggestions. The only thing I'm a little unsure about is using the ELASTIC_OTEL_
env vars for this agent. I like that migration is easier, but not sure if it's subtly confusing why OTEL is mentioned in their names.
Co-authored-by: Steve Gordon <[email protected]>
Aye, it's not ideal but I'd love to be in a situation where we can point customers to 3 variables that work across the board and in mixed environments. We could use:
For both? Or:
|
Yeah, okay. If we want one set to work for all things, let's go with the OTEL-based names, as that's where we expect to end up eventually. Would these make sense, since log level can apply to other loggers that may not be file-based?
|
Yeah it might make sense
However I think its benefits negate the possible confusion. If we take this further we can also rename I'll update the PR to the following set:
I like symmetry in the naming and its more terser 😸 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One comment and observation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This ensures we can specify file logging globally and uniformly. Greatly simplifying the debug-ability of the agent.
The preferred way is to set any or all of the following:
ELASTIC_OTEL_LOG_TARGETS
(to anything butnone
)stdout
no file will be created but global logging will kicking )OTEL_DOTNET_AUTO_LOG_DIRECTORY
OTEL_LOG_LEVEL
trace
debug
will enable global file logging if the other two variables are not set explicitly.This ensure we have one way to debug both our proprietary agent as well as the Elastic OpenTelemetry Distribution.
See: elastic/elastic-otel-dotnet#129
For backwards compatible reasons the profiler variables are also supported:
ELASTIC_APM_PROFILER_LOG
ELASTIC_APM_PROFILER_LOG_DIR
ELASTIC_APM_PROFILER_LOG_TARGETS
Globally setting
ELASTIC_APM_LOG_LEVEL
andELASTIC_APM_LOG_DIRECTORY
is also supported but not preferred.Setting these in any of our supported deploy scenarios:
To keep support existing deploys this now always globally logs to file if only
ELASTIC_APM_STARTUP_HOOKS_LOGGING
is set as well.This further updates our docs for the profiler and troubleshooting to prefer
ELASTIC_OTEL_*
variables.The profiler is updated to read the same environment variables as managed code.