Only start flush logs timer when there's an event to write #11100
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The timer used to periodically flush logs for
DiagnosticEvents
is currently initialized as soon as the singleton Repository is created, regardless of whether any events are ever written. With the change in Service Provider implementation in the OOP host, this behavior changed: singletons are now initialized eagerly at startup byJobHostScopedServiceProviderFactory
.azure-functions-host/src/WebJobs.Script.WebHost/DependencyInjection/JobHostScopedServiceProviderFactory.cs
Line 68 in 575890a
resolves #11098
Changes:
_flushLogsTimer
to a lazy initialization pattern, ensuring the timer is only started when there's an event to write.Error
toWarning
to better reflect the severity of the issues.Pull request checklist
IMPORTANT: Currently, changes must be backported to the
in-proc
branch to be included in Core Tools and non-Flex deployments.in-proc
branch is not requiredrelease_notes.md