Logz.io CloudWatch shipper misparses NodeJS Lambda logs (no log level)

The Logz.io CloudWatch logs shipper parses AWS Lambda log lines assuming a 3-part format (timestamp, requestID, message), but NodeJS Lambda logs have a 4-part format that includes the log level. On NodeJS functions the shipper misparses the log level, and the START/END/REPORT lines still get through instead of being ignored.

The maintainer confirmed this: AWS Lambda logs differ per runtime, and the parser had only been tested against the Python format. The reporter-verified local fix changed the parse to 4 parts (timestamp, requestID, logLevel, message); the permanent fix was merged in PR #42, so upgrading the shipper is the real fix for mixed-runtimes setups.

Source: https://github.com/logzio/logzioawsserverless/issues/40

Source: https://github.com/logzio/logzioawsserverless/issues/40

When generating the signed URL, pass the exact Content-Type the client will upload with (e.g. image/png or application/octet-stream), and make sure the client sends that same header: users on the thread confirmed uploads work once the signed content-type matches. If you cannot know the type ahead of time, sign with application/octet-stream and upload as such.

Source: https://github.com/googleapis/nodejs-storage/issues/347