From dc3e33f7dfa883c2c0e6c7bf1247a6913e2d6548 Mon Sep 17 00:00:00 2001 From: maaz519 Date: Wed, 27 May 2026 14:12:04 +0530 Subject: [PATCH] feat: add @tower/logger package --- packages/logger/package.json | 24 ++++++++++++++++++++++++ packages/logger/src/index.ts | 16 ++++++++++++++++ packages/logger/tsconfig.json | 8 ++++++++ 3 files changed, 48 insertions(+) create mode 100644 packages/logger/package.json create mode 100644 packages/logger/src/index.ts create mode 100644 packages/logger/tsconfig.json diff --git a/packages/logger/package.json b/packages/logger/package.json new file mode 100644 index 0000000..31894ab --- /dev/null +++ b/packages/logger/package.json @@ -0,0 +1,24 @@ +{ + "name": "@tower/logger", + "version": "0.0.1", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + }, + "scripts": { + "build": "tsc", + "dev": "tsc --watch" + }, + "dependencies": { + "pino": "^9.0.0", + "pino-pretty": "^11.0.0" + }, + "devDependencies": { + "@types/node": "^22.0.0", + "typescript": "^5.7.0" + } +} diff --git a/packages/logger/src/index.ts b/packages/logger/src/index.ts new file mode 100644 index 0000000..6139523 --- /dev/null +++ b/packages/logger/src/index.ts @@ -0,0 +1,16 @@ +import pino from 'pino'; + +export function createLogger(name: string) { + return pino({ + name, + level: process.env['LOG_LEVEL'] ?? 'info', + ...(process.env['NODE_ENV'] !== 'production' && { + transport: { + target: 'pino-pretty', + options: { colorize: true }, + }, + }), + }); +} + +export type Logger = ReturnType; diff --git a/packages/logger/tsconfig.json b/packages/logger/tsconfig.json new file mode 100644 index 0000000..792172f --- /dev/null +++ b/packages/logger/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["src"] +}