Skip to main content

· One min read
Darryl Kanouse

Our logging solution needs to cover these use cases:

  • API logging to know who is accessing the API and what resources they are requesting
  • Application logging to understand system load and performance

In both cases, we also want to be able to capture diagnostic information to troubleshoot errors.

The messages in each use case need a schema to ensure all of the required information is captured with each log entry.

Supplied by the logger module in both cases

  • event_timestamp - Event timestamp (ISO)
  • loglevel - Log level (debug/info/warn/error)

API Logging

Our API is built on FastAPI and runs on ECS containers.

We wrote a custom logger module that sends log messages to SQS.

We use aioboto3 and asyncio for our asynchronous logging solution to ensure that the logging does not slow down API performance.

Our logging module sends events to SQS.

The messages have a schema to ensure all of the required diagnostic information is captured with each event.

Supplied by the calling function

  • api_key
  • program_id
  • url
  • method
  • status_code
  • detail

App Logging

· 2 min read
Darryl Kanouse

If we've worked together over the past decade, you know I have a passion for marketing technology and have been an evangelist for action-based consumer engagement. As a framework for the multi-channel orchestration of targeted brand communication that builds loyalty while driving user acquisition, adoption, and retention at scale, action-based consumer engagement is the future. This idea is coming into focus for companies exploring the "Next Best Action" concept for their customers.

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

test