DABH.
A developer tool by DABH LLC

Make sense of
your logs.

Arrange Winston formats. Follow each transformation.
See exactly what reaches your output.

Winston format playground BETA

Powered by logform 2.7.0, Winston’s formatting engine. Configuration targets Winston 3.19.0.

Format documentation ↗
Edits stay in this tab. Logs and code are not uploaded.
01 / Input

Sample events

Each event needs level and message. Add splat: [3000] for interpolation, or error: {"message":"Oops","stack":"…"} for an Error. Up to 30 events.

Transports inherit this threshold unless they override it. npm levels: error → warn → info → http → verbose → debug → silly. A debug threshold includes info, warn and error.

How this preview works

Shared formats run first. Each transport checks its threshold, then applies its own formats. A format returning false drops the event. Finalizers like json and printf set Symbol(message); later changes to other fields do not automatically update that output.

This previews formatting and npm-level filtering, not file or network I/O. Custom code runs in a disposable worker with a time limit and blocked network requests. Browser inspection formatting can differ from Node.js; timestamps and ms values vary. Avoid mutations of nested objects across transports: Winston uses shallow copies.

02 / Transform

Build the pipeline

03 / Inspect

Live preview

Custom code runs only when you select Run preview. Escape cancels a running preview.

Preparing preview…

Inspect every transformation
04 / Take it with you

Working configuration.

Two Console transports demonstrate the two output pipelines. Choose your production transports in your application.

Run a valid preview to generate code.

Distributed and maintained by DABH LLC. Built on the community’s work in Winston, logform and @colors/colors. Open-source notices. Need help with your logging setup? Let’s talk ↗