Closed (fixed)
Project:
Mapillary
Version:
1.0.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
9 Oct 2026 at 17:37 UTC
Updated:
23 Oct 2026 at 18:15 UTC
Jump to comment: Most recent
Mapillary Logs (mapillary_logs) has a "Log errors" setting that is on by default, but with the default settings nothing is logged at all:
MapillaryLogsService::logApiCall() returns early when log_api_calls is off, and the log_errors check only runs after that. Error logging therefore only works when every API call is logged too. The defaults are log_api_calls: false and log_errors: true, so a failed API request is never logged by this module on a fresh install."Mapillary API call to {$endpoint} failed ...") instead of passing them as placeholders. Every call produces a different message, so /admin/reports/dblog cannot group them and the messages cannot be translated.MapillaryLogsHooks only logs entity operations for a hardcoded list of mapillary_image, mapillary_sequence and mapillary_organization. Map features (mapillary_map_feature) and detections (mapillary_detection) are not logged.logger.channel.mapillary_logs service is defined but never used; the service gets its channel from logger.factory.mapillary_logs.info.yml requires dblog and mapillary_entity. The module writes to logger.factory, so any logger (syslog, a log shipper) works, and it only compares entity type IDs, so it does not need mapillary_entity.README.md and AGENTS.md list an administer mapillary_logs permission. The module has no permissions.yml; the settings route uses administer mapillary.mapillary_logs and dblog, and leave the logging settings at their defaults.drush cset mapillary.settings access_token 'MLY|1|invalid'./admin/reports/dblog and filter by type mapillary_logs. There is no entry for the failed request.log_errors on its own for failed calls, and log_api_calls only for successful ones.logger.channel.mapillary_logs service.dblog and mapillary_entity dependencies. mapillary_field stays for now, because the API and viewer event classes live there.README.md and AGENTS.md.MapillaryApiClient also writes failed requests to its own mapillary_field channel, so with this fix an error is logged twice when Mapillary Logs is enabled. That, the missing token (no event is dispatched) and the log level of expected errors such as 404 belong to the API client and are left to a follow-up that moves the client to the base module.
log_api_calls off and log_errors on; no error is logged with log_errors off; messages use placeholders; map feature and detection operations are logged; config entities such as bundle types are not.MapillaryLogsCrudTest, which searches the message text and needs to search the variables instead.MapillaryLogsService and MapillaryLogsHooks are final, and their public methods keep their signatures.logger.channel.mapillary_logs service is removed. Code that uses logger.factory with the mapillary_logs channel still works.dblog or mapillary_entity on existing sites.Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #4
orkutmuratyilmaz