Skip to content

Update Configuration to support log level filtering #1760

Closed
@jaffinito

Description

@jaffinito

Describe the story, please be clear on scope of the story.

  • Configuration.xsd
    • Add a new attribute called “logLevelDenylist” to applicationLogging.forwarding.
    • Type: xs:string
    • Marked as optional
    • Documentation string something like “A comma-separated, case-insensitive, list of log levels that should be ignored and not sent up to New Relic.”
    • Add the license header back to Configuration.cs
  • IConfiguration.cs
    • Add IEnumerable LogLevelDenylist
  • DefaultConfiguration.cs
    • Add a new IEnumerable called “LogLevelDenylist” next to other “application logging” settings
    • Has an EnvironmentOverrides called “NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LOG_LEVEL_DENYLIST”
    • Will need to string.Split the value with “.Split(new[] { StringSeparators.CommaChar, ' ' }, StringSplitOptions.RemoveEmptyEntries);”
  • ReportedConfiguration.cs
    • Add IEnumerable LogLevelDenylist
    • Add a JsonProperty of “application_logging.log_level_denylist”
  • tests/Agent/UnitTests/Core.UnitTest/DataTransport/ExhaustiveTestConfiguration.cs
    • Add IEnumerable LogLevelDenylist

Old PoC: https://github.com/newrelic/newrelic-dotnet-agent/compare/proto-log-level-deny-list

###Acceptance Criteria

  • Have run xsd2code
  • Confirm that new entry appears in Configuration.cs
  • EnvironmentOverrides is setup properly
  • Existing unit test pass
  • New unit tests pass

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions