There needs to be a way for merchants to share a timeframe of logs, not just the last 24 hours. In multiple cases, merchants are reporting issues that happened a few days prior, and we have no way to view the logs from that timeframe. The last 24 hours is overly restrictive for custom apps (ie. not apps that distributed via the app store)
Alternatively, for custom apps, there could be a way for merchants to share all logs indefinitely - that would be optimal.
In general, the dev dashboard system is overly restrictive for agencies developing custom apps - whether it’s dealing with the workflow oversights that were implemented on the client credentials grant system, or tracking down function logs from longer than 24 hours ago, there should be ways to have merchants grant agency partners full permissions to do what they need to do to get their work done.
Hey @Nic_Oliver - hope things are good on your end! Thanks for the write-up here, the 24h window is something I’ve heard come up before and definitely not ideal for agency workflows where you’re often hearing about issues days after the fact.
Want to make sure I pass this along with as much context as possible, so a couple things that’d help on my end: would a 7 or 30 day retention window unblock you, or is there a different timeframe that’d make more sense? Any recent examples where the 24h cap was less than ideal would also go a long way, the more specific I can be the better I can advocate for this internally.
I’ll loop back here once I’ve got something to share. Appreciate you taking the time to write this one up.
@Alan_G Thanks for following up. If indefinitely sharing logs is not feasible, 30 days would probably cover most cases - you are correct, there are likely to be time delays between when an issue happens => is identified by the merchant => communicated to agency => developer investigates, and that timeframe is almost certainly longer than 24h.
A recent example: merchant has a number of complex checkout customizations running in parallel, including a Delivery Customization function that overrides the native pickup location visibility and implements custom logic to determine which locations should show based on inventory and location geography. They received an order with a pickup location that should have been hidden according to the function logic. In our testing with that specific product, the function is operating correctly, and other orders with similar products are also being received with no issues. By the time this was communicated and we investigated, 5 days had gone by. When checking the function logs, I saw there were a few errors from earlier that day, but no consistent errors (ie. within the 24h window). Since we haven’t been able to recreate the issue and there’s no way for us to inspect those errors to see if there is a correlation, it’s difficult to debug what’s happening.
As an aside / partially related to this topic - monitoring infrastructure such as Sentry would be extremely useful here. If there was a way to connect a Sentry account to a Function for monitoring, that would be very helpful. It may be wishful thinking, but understanding that there are potential performance implications, perhaps there’s a way that network requests to logging tools could be queued / run after the actual function execution.
Also perhaps share future logs for a selected timeframe - kind of annoying asking merchants to share again just to confirm fixes are in place correctly.
Hey @Nic_Oliver and all - super helpful example. I agree that sometimes it can take a while for issues to bubble up and be reported, so while I can’t guarantee anything, longer logs do make sense for sure.
I can log this on our end, and I’ll flag @denniscessan’s point about future-forward / ongoing log sharing too, since chasing a second share just to confirm a fix is not super ideal either.
On the Sentry-style integration ask, I’ll include that too, can’t make promises on that one either. If you can share a bit more detail on what you’d want out of that integration, happy to capture it since I’ll log it as a separate feature request.