Skip to main content
Glama
logger.ts1.45 kB
import pino from 'pino'; import type { LogLevel, LogFormat } from '../types/index.js'; /** * Logger options */ export interface LoggerOptions { level?: LogLevel; format?: LogFormat; } /** * Create a configured pino logger */ export function createLogger(options: LoggerOptions = {}): pino.Logger { const { level = 'info', format = 'json' } = options; const baseConfig: pino.LoggerOptions = { level, }; if (format === 'pretty') { return pino({ ...baseConfig, transport: { target: 'pino-pretty', options: { colorize: true, translateTime: 'SYS:standard', ignore: 'pid,hostname', }, }, }); } return pino(baseConfig); } /** * Default logger instance (can be replaced via setLogger) */ let logger = createLogger(); /** * Get the current logger instance */ export function getLogger(): pino.Logger { return logger; } /** * Set a new logger instance */ export function setLogger(newLogger: pino.Logger): void { logger = newLogger; } /** * Convenience methods that use the default logger */ export const log = { debug: (msg: string, obj?: object) => logger.debug(obj, msg), info: (msg: string, obj?: object) => logger.info(obj, msg), warn: (msg: string, obj?: object) => logger.warn(obj, msg), error: (msg: string, obj?: object) => logger.error(obj, msg), fatal: (msg: string, obj?: object) => logger.fatal(obj, msg), };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/procoders/openapi-mcp-ts'

If you have feedback or need assistance with the MCP directory API, please join our Discord server