SShortSingh.
Back to feed

Node.js SaaS teams should split error tracking and structured logs in catalog pipelines

0
·3 views

The article argues that exception tracking and structured logging serve different purposes in nightly catalog import pipelines. Error trackers group recurring exceptions so engineers can prioritize fixes, while structured logs record the business steps of a run, such as rows read and rejected. Both should share a trace_id, but neither should be asked to replace the other. Structured logs also catch non-crash failures, like a completed import that yields zero active SKUs. The author describes a minimal implementation that writes JSON Lines to stdout and sends the same events to a logging endpoint, with retry logic and idempotency keys.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

UX Icons JS : les icônes de Symfony UX disponibles en JavaScript, React et Vue

Les icônes Symfony UX, utilisables facilement en Twig, restent difficiles à réutiliser dans un contrôleur Stimulus ou un composant React, ce qui pousse souvent les développeurs à copier des SVG à la main. L'auteur avait proposé une intégration native à Symfony UX, mais la pull request a été fermée, les mainteneurs estimant que les bundlers savent déjà importer des SVG. Face à cela, il a publié UX Icons JS Bundle, un paquet open source qui s'appuie sur UX Icons sans le modifier. Il exporte les icônes locales dans un module JavaScript, avec React et Vue en dépendances optionnelles. Les icônes JavaScript produisent ainsi exactement le même HTML que la fonction ux_icon() de Twig.

0
ProgrammingDEV Community ·

Fixing Wide Tables on Mobile Without Layout Shift Using a Responsive Wrapper

A developer documented a fix for data tables that overflowed phone screens and caused the whole page to scroll sideways on mobile. The problem appeared after a new column roughly doubled a dashboard table's width, breaking the layout and pushing the fixed header off-screen. Forcing the table to fit with fixed layout and width made the columns unreadable, and a simple scrolling wrapper without proper display settings failed to contain the overflow. The solution was a new ResponsiveTable wrapper that uses a resize observer to detect when content exceeds the viewport and enables horizontal scrolling only on screens 768 px and narrower. The original Table component remains unchanged to protect desktop behavior and avoid regressions.

0
ProgrammingDEV Community ·

How to Get Unstuck in Your Tech Career: Six Practical Steps

Many tech professionals feel their careers have stalled, with little new learning or a unclear next move, even though the industry changes constantly. The article suggests that feeling stuck does not always mean the field is wrong, and that identifying the real cause, such as boredom versus burnout, is the first step. It recommends setting near-term goals rather than mapping out a full decade ahead, then identifying the specific skills needed to reach the next level. Before job hunting, professionals are encouraged to look for growth within their current company, such as mentoring, volunteering, or leading a small project, and to discuss these options with their manager.

0
ProgrammingDEV Community ·

Querier AI Turns Plain-English Questions into Type-Safe Java SQL Queries

Querier AI is a new optional module for the open-source Java SQL query builder Querier that converts natural-language questions into validated Querier Select objects. The workflow sends the question to an AI model using the schema the application exposes, then checks the generated SQL against that schema and parses it into a Querier object. Because the output is a Java object rather than a raw SQL string, the application can inspect it and run it through its existing database layer instead of giving the AI direct database access. The tutorial demonstrates integration with a Spring Boot app using Spring JDBC, with the module added via Maven and configured through environment variables. The approach works with OpenAI-compatible endpoints under a bring-your-own-key model, and a retry policy lets the module attempt corrections when generated SQL is invalid.