This topic was automatically generated from Slack. You can find the original thread here.
Hey gang - I’m looking for some solutions for logging workflows. I have a few pipedream workflows connected to my team production Notion databases, and I want to give my team access to workflow logs without actually letting them into the pipedream account. I’m assuming I’ll need to add logging to each step in pipedream, then push to an outside third party tool for my team to visualize it?
I’ve seen tools like Better Stack, but I’m not sure if this is the direction to go.
Ideally, I’d be able to write logic that handles incident(s) from each step and offers logs that will provide insight for the team. (API call failed, try your request again, or critical data missing from input, please add ***** and resubmit)
Although my favorite option would just be to push everything into Firehose → S3 → Snowflake, and then analyze everything there (mostly because that is how we already handle pretty much everything).
I think Pipedream should offer some native options for this, but also allow us to implement our own custom loggers.
Just like we can implement our own custom code steps or even our own custom components (but in this case is would be a logger component instead of an action or trigger component).
• What exactly it is we want to log: trigger/event, step parameters/inputs, step response/exports (if any), errors & stack trace (before it bubbles up into the Pipedream runtime), console logs (or other custom logs), and other metadata (such as step details, start & end time, etc.)
• How to handle sensitive data (credentials, PII, etc.)
• Where do we want it to go: this could be one single destination, or it could be multiple ones.
• What format do we want the data to be in: JSON, protobuf, binary, etc., or some proprietary format of the API(s) we’re integrating with.
• How to handle logger failures/downtime (maybe save to the datastore or file store temporarily?)
: But otherwise for now you’ll need to implement all of that manually in code steps (or custom components), which is a lot of overhead to add everywhere.
Although of course it’s a lot of extra credits just to handle all of those logs (i.e. receive the emit as a workflow trigger, and then send the data somewhere).
Imagine if you want to log all of the steps of a workflow… extra credits = workflow executions * number of steps.