Log Pipeline
Building on the architecture described above,
When you call any logging method on your logger instance (e.g. info(), error()),
it triggers two parallel paths internally:
Platform Transporter: Normalizes, formats, and outputs logs to the console, optimized for the running environment.
HandlerManager: Runs additional handlers for side effects like writing files, sending logs remotely, or custom integrations.
Logger.log()
↓
┌───────────────────────────────┐
│ │
▼ ▼
┌──────────────────────┐ ┌──────────────────┐
│ Platform Transporter │ │ handlerManager │
│ (normalize, format, │ │ .runHandlers() │
│ output to console) │ └──────────────────┘
└──────────────────────┘ │
▼
┌─────────────┬───────────────────┬───────────────┐
│ FileHandler │ SendRemoteHandler │ CustomHandler │ ...
└─────────────┴───────────────────┴───────────────┘
Want to send your logs to files, Slack, or other services?
Check out the ✨ Handlers & Integrations to see how Logry integrates with real-world outputs.