Skip to content

Commit 35cfc3f

Browse files
committed
Refactored rule manager to make it easier for developers to change default rules.
1 parent 7231933 commit 35cfc3f

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

plugins/wpgraphql-logging/src/Logger/LoggingHelper.php

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,29 @@ protected function get_rule_manager(): RuleManager {
7777
if ( null !== $this->rule_manager ) {
7878
return $this->rule_manager;
7979
}
80+
81+
$default_rules = [
82+
new QueryNullRule(),
83+
new SamplingRateRule(),
84+
new EnabledRule(),
85+
new IpRestrictionsRule(),
86+
new ExcludeQueryRule(),
87+
];
88+
89+
/**
90+
* Filter the logging rules before they are added to the manager.
91+
*
92+
* @param array<\WPGraphQL\Logging\Logger\Api\LoggingRuleInterface> $rules Array of rule objects.
93+
*/
94+
$rules = apply_filters( 'wpgraphql_logging_rules', $default_rules );
95+
8096
$this->rule_manager = new RuleManager();
81-
$this->rule_manager->add_rule( new QueryNullRule() );
82-
$this->rule_manager->add_rule( new SamplingRateRule() );
83-
$this->rule_manager->add_rule( new EnabledRule() );
84-
$this->rule_manager->add_rule( new IpRestrictionsRule() );
85-
$this->rule_manager->add_rule( new ExcludeQueryRule() );
86-
apply_filters( 'wpgraphql_logging_rule_manager', $this->rule_manager );
97+
98+
/** @var \WPGraphQL\Logging\Logger\Api\LoggingRuleInterface $rule */
99+
foreach ( $rules as $rule ) {
100+
$this->rule_manager->add_rule( $rule );
101+
}
102+
87103
return $this->rule_manager;
88104
}
89105

0 commit comments

Comments
 (0)