apm-agent-dotnet
apm-agent-dotnet copied to clipboard
Enable global file logging
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_FILE_LOG_LEVEL
(to anything butnone
) -
ELASTIC_OTEL_FILE_LOG_DIRECTORY
-
ELASTIC_OTEL_LOG_TARGETS
(to anything butnone
)- if only set to
stdout
no file will be created but global logging will kicking )
- if only set to
This ensure we have one way to debug both our proprietary agent as well as the Elastic OpenTelemetry Distribution.
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:
- Manual instrumentation (nuget)
- ASP.NET (classic)
- ASP.NET core
- NOTE: we now log to both the configured ILogger and our global logging.
- Auto Instrumentation
- Profiler
- Startup hooks
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.