npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

typeorm-pino-logger

v0.2.0

Published

High-performance logging for TypeORM with Pino

Readme

TypeORM Pino Logger

A Pino logger adapter for TypeORM that provides structured logging with configurable options and advanced features.

npm version License: MIT

Features

  • 🚀 High-performance logging with Pino
  • 📊 Structured JSON logging
  • ⚙️ Configurable logging levels and options
  • 🐌 Slow query detection and logging
  • 📝 Query parameter logging with truncation
  • 🔍 Migration and schema operation logging
  • 🎯 Customizable context for all log entries
  • 🔧 QueryRunner context extraction (connection, database, transaction status)
  • ✂️ Automatic query truncation for large queries
  • 🤫 Message filtering to suppress unwanted logs
  • 🛡️ Type-safe implementation with TypeScript

Quick Start

Installation

bun add typeorm-pino-logger pino typeorm

Basic Usage

import { DataSource } from 'typeorm';
import pino from 'pino';
import { TypeOrmPinoLogger } from 'typeorm-pino-logger';

const logger = pino();
const typeormLogger = new TypeOrmPinoLogger(logger);

const dataSource = new DataSource({
  type: 'postgres',
  host: 'localhost',
  port: 5432,
  username: 'user',
  password: 'password',
  database: 'mydb',
  logger: typeormLogger,
  logging: true,
  // ... other TypeORM options
});

Usage with Message Filtering

Suppress unwanted log messages, such as glob pattern discovery notices during startup:

import { TypeOrmPinoLogger, FilterFunction } from 'typeorm-pino-logger';

const filterOutGlobMessages: FilterFunction = (message, type) => {
  if (type === 'general' && message.startsWith('All classes found using provided glob pattern')) {
    return false; // Suppress this message
  }
  return true; // Log all other messages
};

const typeormLogger = new TypeOrmPinoLogger(logger, {
  messageFilter: filterOutGlobMessages,
});

// ... then use this logger in your DataSource

That's it! Your TypeORM queries will now be logged with structured JSON output.

Documentation

📚 Full Documentation - Complete guides and examples

Quick Links

Development

# Install dependencies
bun install

# Build the project
bun run build

# Run tests
bun test

# Type checking
bun run check-types

# Linting
bun run lint

License

MIT - See LICENSE for more information.

Contributing

Please see CONTRIBUTING.md for details on how to contribute to this project.