JsonLog

Simple rolling log management.

CI Events? Send a POST.

POST https://jsonlog.fly.dev:3000/log?cid=[somename]

GET https://jsonlog.fly.dev:3000/log?cid=[somename]

Docker? Use the Syslog or GELF driver.

docker run --log-driver=gelf \
  --log-opt gelf-address=udp://jsonlog.fly.dev:12201 \
  alpine echo '{"hello":"world", "_jsonlog": {"cid": "somename"}}}'

docker run --log-driver=syslog \
  --log-opt syslog-address=udp://jsonlog.fly.dev:6514 \
  alpine echo '{"hello":"world", "_jsonlog": {"cid": "somename"}}'

Watch in real-time with websockets.

const ws = new WebSocket('wss://jsonlog.fly.dev:3000/log?cid=[somename]');
ws.onmessage = (event) => {
  console.log(event.data);
};

Or use our dashboard

https://jsonlog.fly.dev:3000?cid=[somename]

Fire and forget app logging with UDP

const winston = require('winston');
const { Syslog } = require('winston-syslog');

const logger = winston.createLogger({
  transports: [
    new Syslog({
      host: 'jsonlog.fly.dev',
      port: 6514,
      protocol: 'udp',
      localhost: 'myapp',
      format: winston.format.json(),
    }),
  ],
});

Guarantee delivery and encryption with TLS/TCP

const winston = require('winston');
const { Syslog } = require('winston-syslog');

const logger = winston.createLogger({
  transports: [
    new Syslog({
      host: 'jsonlog.fly.dev',
      port: 6514,
      protocol: 'tls',
      localhost: 'myapp',
      format: winston.format.json(),
    }),
  ],
});