logd_network 0.1.2
logd_network: ^0.1.2 copied to clipboard
Network-based sinks and real-time observability handlers (HTTP batching, WebSocket streaming, live browser dashboard) for logd.
import 'package:logd/logd.dart'
hide HttpDashboardHandler, HttpSink, SocketSink, DropPolicy;
import 'package:logd_network/logd_network.dart';
void main() async {
// 1. Pre-wired HTTP & WebSocket browser dashboard
final dashboard = HttpDashboardHandler(
port: 8080,
title: 'Production Telemetry Stream',
bufferCapacity: 200,
);
// 2. HTTP POST batching sink with exponential backoff retries
final httpHandler = Handler(
formatter: const JsonFormatter(),
sink: HttpSink(
url: 'https://logs.example.com/api/v1/ingest',
batchSize: 50,
flushInterval: const Duration(seconds: 30),
maxRetries: 3,
dropPolicy: DropPolicy.discardOldest,
),
);
// 3. Configure logd pipeline with network handlers
Logger.configure('app', handlers: [dashboard, httpHandler]);
// 4. Emit telemetry logs
final logger = Logger.get('app.service');
logger.info('Network observability pipeline initialized');
logger.warning('High memory pressure detected', context: {'usage': '87%'});
logger.error('Circuit breaker tripped for payment-service');
// 5. Clean teardown on exit
await dashboard.dispose();
await httpHandler.sink.dispose();
}