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(),
}),
],
});