@lspeasy/middleware-pino
v4.0.0
Published
Pino-based structured logging middleware for lspeasy
Maintainers
Readme
@lspeasy/middleware-pino
Pino-compatible structured logging middleware for lspeasy middleware pipelines.
Installation
pnpm add @lspeasy/middleware-pino pinoUsage
import pino from 'pino';
import { LSPClient } from '@lspeasy/client';
import { createPinoMiddleware } from '@lspeasy/middleware-pino';
const logger = pino({ level: 'info' });
const client = new LSPClient({
name: 'logging-client',
version: '1.0.0',
middleware: [
createPinoMiddleware(logger, {
level: 'debug',
includeMessageContent: false,
staticFields: {
service: 'lsp-client'
}
})
]
});Options
level: logging level (trace,debug,info,warn,error,fatal)includeMessageContent: include full JSON-RPC message payload in log recordsstaticFields: fixed metadata included in every log recordformatMessage: custom formatter for emitted log messages
Behavior
- Emits a
beforelog event prior to the next middleware/handler. - Emits an
afterlog event on successful completion withdurationMs. - Emits an
errorlog event when downstream middleware/handler throws.
