Version 9.3.0 of the agent adds log-level filtering, adds custom attributes for log events, and updates instrumentation for Action Cable. It also provides fixes for how Fiber args are treated, Code-Level Metrics, unnecessary files being included in the gem, and NewRelic::Agent::Logging::DecoratingFormatter#clear_tags! being incorrectly private.
Feature: Filter forwarded logs based on level
Previously, all log events, regardless of their level, were forwarded to New Relic when log forwarding was enabled. Now, you may specify the lowest log level you'd like forwarded to New Relic.
Configuration name
Default
Behavior
Valid values
application_logging.forwarding.log_level
debug
Sets the minimum log level for events forwarded to New Relic
You can now add custom attributes to log events forwarded to New Relic! You can pass these attributes using an API and/or a configuration option.
Configuration name
Default
Behavior
application_logging.forwarding.custom_attributes
{}
A hash with key/value pairs to add as custom attributes to all log events forwarded to New Relic. If sending using an environment variable, the value must be formatted like: "key1=value1,key2=value2"
Call the API using NewRelic::Agent.add_custom_log_attributes and passing your attributes as a hash. For example, you could call: NewRelic::Agent.add_custom_log_attributes(dyno: ENV['DYNO'], pod_name: ENV['POD_NAME']), to add the attributes dyno and pod_name to your log events.
Attributes passed to the API or the configuration will be added to all log events.
This change subscribes the agent to the Active Support notifications for:
transmit_subscription_confirmation.action_cable
transmit_subscription_rejection.action_cable
Bugfix: Removed unwanted files from being included in file_list in gemspec
Previously, the agent was including some files in the gem that were not needed but added to the size of the gem. These files will no longer be included. Thanks to @manuraj17 for the contribution! PR#2089
Bugfix: Report Code-Level Metrics for Rails controller methods
Controllers in Rails automatically render views with names that correspond to valid routes. This means that a controller method may not have a corresponding method in the controller class. Code-Level Metrics now report on these methods and don't log false warnings. Thanks to @jcrisp for reporting this issue. PR#2061
Bugfix: Code-Level Metrics for ActiveRecord models
Classes that inherit from ActiveRecord were not reporting Code-Level Metrics due to an error in the agent when identifying the class name. This has been fixed and Code-Level Metrics will now report for ActiveRecord models. Thanks to @abigail-rolling for reporting this issue. PR#2092.
Bugfix: Private method clear_tags! for NewRelic::Agent::Logging::DecoratingFormatter
As part of a refactor included in a previous release of the agent, the method NewRelic::Agent::Logging::DecoratingFormatter#clear_tags! was incorrectly made private. This method is now public again. Thanks to @dark-panda for reporting this issue. PR#
... (truncated)
Commits
4b4fded Merge pull request #2107 from newrelic/issue_farther
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps newrelic_rpm from 9.2.0 to 9.3.0.
Release notes
Sourced from newrelic_rpm's releases.
Changelog
Sourced from newrelic_rpm's changelog.
... (truncated)
Commits
4b4fded
Merge pull request #2107 from newrelic/issue_farther47e109b
Update action.ymlc7a0e0e
Update action.ymla4d7dbd
Update action.yml83901ff
CI: Issue Closer action updates820de14
Merge pull request #2106 from newrelic/repolinter-permse0ca4d7
Add issue write permissions to repolinter542300a
Merge pull request #2105 from newrelic/appease-repolinter5a517fa
Update community portal linksc236566
Merge pull request #2098 from newrelic/1676_test_config_file_loading_with_psych5Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)