From f8f0cc6811452fc3c0d67c41e3d821057a1222b5 Mon Sep 17 00:00:00 2001 From: Lukas Holecek Date: Feb 08 2022 10:28:55 +0000 Subject: Avoid unnecessary logging Avoid unhelpful log messages and lower the log message level - for example, bad user API request is not an error. --- diff --git a/greenwave/api_v1.py b/greenwave/api_v1.py index 2f94a56..de09501 100644 --- a/greenwave/api_v1.py +++ b/greenwave/api_v1.py @@ -407,11 +407,9 @@ def validate_gating_yaml_post(): try: policies = RemotePolicy.safe_load_all(content) except SafeYAMLError as e: - log.error(str(e)) raise BadRequest(str(e)) if not policies: - log.error('No policies defined') raise BadRequest('No policies defined') missing_decision_contexts = _missing_decision_contexts_in_parent_policies(policies) diff --git a/greenwave/consumers/consumer.py b/greenwave/consumers/consumer.py index 3003898..ffcff80 100644 --- a/greenwave/consumers/consumer.py +++ b/greenwave/consumers/consumer.py @@ -144,12 +144,12 @@ class Consumer(fedmsg.consumers.FedmsgConsumer): fedora_messaging.api.publish(msg) self._inc(messaging_tx_sent_ok_counter) except fedora_messaging.exceptions.PublishReturned as e: - log.warning( + log.error( 'Fedora Messaging broker rejected message %s: %s', msg.id, e) self._inc(messaging_tx_stopped_counter) except fedora_messaging.exceptions.ConnectionException as e: - log.warning('Error sending message %s: %s', msg.id, e) + log.error('Error sending message %s: %s', msg.id, e) self._inc(messaging_tx_failed_counter) except Exception: # pylint: disable=broad-except log.exception('Error sending fedora-messaging message') @@ -194,8 +194,6 @@ class Consumer(fedmsg.consumers.FedmsgConsumer): contexts_product_versions = applicable_decision_context_product_version_pairs( policies, **policy_attributes) - log.info('Getting greenwave info') - for decision_context, product_version in sorted(contexts_product_versions): self._inc(messaging_tx_to_send_counter) @@ -210,7 +208,7 @@ class Consumer(fedmsg.consumers.FedmsgConsumer): continue if _is_decision_unchanged(old_decision, decision): - log.debug('Skipped emitting fedmsg, decision did not change: %s', decision) + log.debug('Decision unchanged: %s', decision) self._inc(messaging_tx_stopped_counter) continue @@ -226,14 +224,10 @@ class Consumer(fedmsg.consumers.FedmsgConsumer): if publish_testcase: decision['testcase'] = testcase - log.info( - 'Emitting a message on the bus, %r, with the topic ' - '"greenwave.decision.update"', decision) + log.info('Publishing a decision update message: %r', decision) if self.flask_app.config['MESSAGING'] == 'fedmsg': - log.debug(' - to fedmsg') self._publish_decision_update_fedmsg(decision) elif self.flask_app.config['MESSAGING'] == 'fedora-messaging': - log.debug(' - to fedora-messaging') self._publish_decision_update_fedora_messaging(decision) self._inc(messaging_tx_stopped_counter) diff --git a/greenwave/decision.py b/greenwave/decision.py index 57366ca..759aa6a 100644 --- a/greenwave/decision.py +++ b/greenwave/decision.py @@ -74,9 +74,6 @@ class Decision: if subject.ignore_missing_policy: return - log.error( - 'Cannot find any applicable policies for %s subjects at gating point %s in %s', - subject.type, self.decision_context, self.product_version) raise NotFound( 'Cannot find any applicable policies for %s subjects at gating point %s in %s' % ( subject.type, self.decision_context, self.product_version)) @@ -132,7 +129,6 @@ def _decision_subject(data): try: subject = create_subject_from_data(data) except UnknownSubjectDataError: - log.info('Could not detect subject_identifier.') raise BadRequest('Could not detect subject_identifier.') return subject @@ -152,17 +148,14 @@ def _decision_subjects_for_request(data): subjects = data['subject'] if (not isinstance(subjects, list) or not subjects or not all(isinstance(entry, dict) for entry in subjects)): - log.error('Invalid subject, must be a list of dicts') raise BadRequest('Invalid subject, must be a list of dicts') for subject in subjects: yield _decision_subject(subject) else: if 'subject_type' not in data: - log.error('Missing required "subject_type" parameter') raise BadRequest('Missing required "subject_type" parameter') if 'subject_identifier' not in data: - log.error('Missing required "subject_identifier" parameter') raise BadRequest('Missing required "subject_identifier" parameter') yield create_subject(data['subject_type'], data['subject_identifier']) @@ -170,15 +163,12 @@ def _decision_subjects_for_request(data): def make_decision(data, config): if not data: - log.error('No JSON payload in request') raise UnsupportedMediaType('No JSON payload in request') if not data.get('product_version'): - log.error('Missing required product version') raise BadRequest('Missing required product version') if not data.get('decision_context') and not data.get('rules'): - log.error('Either decision_context or rules is required.') raise BadRequest('Either decision_context or rules is required.') log.debug('New decision request for data: %s', data) @@ -187,7 +177,6 @@ def make_decision(data, config): decision_context = data.get('decision_context', None) rules = data.get('rules', []) if decision_context and rules: - log.error('Cannot have both decision_context and rules') raise BadRequest('Cannot have both decision_context and rules') on_demand_policies = [] @@ -201,7 +190,6 @@ def make_decision(data, config): verbose = data.get('verbose', False) if not isinstance(verbose, bool): - log.error('Invalid verbose flag, must be a bool') raise BadRequest('Invalid verbose flag, must be a bool') ignore_results = data.get('ignore_result', []) ignore_waivers = data.get('ignore_waiver', []) diff --git a/greenwave/policies.py b/greenwave/policies.py index 1aff7ec..4f7bad7 100644 --- a/greenwave/policies.py +++ b/greenwave/policies.py @@ -65,7 +65,7 @@ def _remote_urls(subject): subject.identifier ) except greenwave.resources.NoSourceException as e: - log.error(e) + log.warning(e) continue # if the element is actually a container and not a pkg there will be a "-container" diff --git a/greenwave/resources.py b/greenwave/resources.py index d93c0c9..69a1025 100644 --- a/greenwave/resources.py +++ b/greenwave/resources.py @@ -248,7 +248,7 @@ def retrieve_yaml_remote_rule(url): """ Retrieve a remote rule file content from the git web UI. """ response = requests_session.request('HEAD', url) if response.status_code == 404: - log.debug(f'Server returned 404 for {url}.') + log.debug('Remote rule not found: %s', url) return None if response.status_code != 200: diff --git a/greenwave/utils.py b/greenwave/utils.py index cdbae21..af67269 100644 --- a/greenwave/utils.py +++ b/greenwave/utils.py @@ -26,16 +26,17 @@ def json_error(error): if isinstance(error, HTTPException): msg = error.description status_code = error.code + current_app.logger.info('HTTP request failed: %s', error) elif isinstance(error, (ConnectionError, requests.ConnectionError)): - current_app.logger.exception('Connection error: {}'.format(error)) + current_app.logger.exception('Connection error: %s', error) msg = 'Error connecting to upstream server: {}'.format(error) status_code = 502 elif isinstance(error, requests.Timeout): - current_app.logger.exception('Timeout error: {}'.format(error)) + current_app.logger.exception('Timeout error: %s', error) msg = 'Timeout connecting to upstream server: {}'.format(error) status_code = 504 else: - current_app.logger.exception('Unexpected server error: {}'.format(error)) + current_app.logger.exception('Unexpected server error: %s', error) msg = 'Server encountered unexpected error' status_code = 500