{"_id":"@bernierllc/logging-core","_rev":"7-5b7749ff0c0dd73f7952a216722a2772","name":"@bernierllc/logging-core","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.0":{"name":"@bernierllc/logging-core","version":"0.1.0","keywords":["logging","types","interfaces","core","typescript"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/logging-core@0.1.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"753914b7c31a3c0df25f4591b064513c2230f372","tarball":"https://registry.npmjs.org/@bernierllc/logging-core/-/logging-core-0.1.0.tgz","fileCount":13,"integrity":"sha512-gOIEvHwQ6qQUE0w7yAgjqb8+8NtulCw7ngFSBck+GvS1uUrmc7yE1xZ7E5ludEy8+7YQe6Egti6NgITxLHnOIA==","signatures":[{"sig":"MEQCIAWFq13IF//0ygo76MrUtUhjR0J8G6HHn7UV2BPDIdMSAiBff7x8uU1+NCFWB3FMtDIec2IlIEMe9IT33FK2gDLYrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19136},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4584ef4a55a13b2a557e9d27a17d4dff47c955ae","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc --outDir ./dist --rootDir ./src --target es2020 --module commonjs --declaration --esModuleInterop --skipLibCheck src/index.ts src/types.ts src/interfaces.ts src/environment.ts src/transports.ts","format":"prettier --write src/**/*.ts"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.4.2","description":"Core logging interfaces and types for the Bernier LLC logging ecosystem","directories":{},"_nodeVersion":"24.4.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/logging-core_0.1.0_1754189277592_0.21281519223338674","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bernierllc/logging-core","version":"0.3.0","keywords":["logging","types","interfaces","core","typescript"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/logging-core@0.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"bd7816db274d46beb2304d888df3bc73de0f6a8b","tarball":"https://registry.npmjs.org/@bernierllc/logging-core/-/logging-core-0.3.0.tgz","fileCount":13,"integrity":"sha512-VUub0/J44DKXnYAT++Yd4sF3Hin5pyzL4tvS4J2xUJb9WAGbe10VWhBXT0q8p9c2M9JaqZuC6JoyU3kt0za5YQ==","signatures":[{"sig":"MEUCIQCByA9L8oUPJohHiS382Z5g28iicWfSLwQjk/xcvVFRtwIgBKCFOq5XRgZ6BqegLlolYqfFGEamzdZoCRSvi89GhF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19267},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc --outDir ./dist --rootDir ./src --target es2020 --module commonjs --declaration --esModuleInterop --skipLibCheck src/index.ts src/types.ts src/interfaces.ts src/environment.ts src/transports.ts","format":"prettier --write src/**/*.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c035c50-2488-4634-8dfe-0b19d5c7e340"}},"repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"Core logging interfaces and types for the Bernier LLC logging ecosystem","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/logging-core_0.3.0_1767642312164_0.849384136634382","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@bernierllc/logging-core","version":"0.3.1","keywords":["logging","types","interfaces","core","typescript"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/logging-core@0.3.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"1a2e30781ad5c53120092accf78d57242bf5ceb5","tarball":"https://registry.npmjs.org/@bernierllc/logging-core/-/logging-core-0.3.1.tgz","fileCount":13,"integrity":"sha512-1l7RuqeLkEopKZsPOSY7BAgdvXgP0rqvVcRTIS5HbhghGMa9os0C1Ie2m7ClzhYG5qMvujlc7fU5ZLGXH12FQA==","signatures":[{"sig":"MEQCID3eaebzHxRSnuff8O2pzzhRVVPr17lGAa53C2nTClupAiBI9muhozQtoLopeprEX4PWvYMwmv8FcPXm3VcdOq6//g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19209},"main":"dist/index.js","_from":"file:bernierllc-logging-core-0.3.1.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc --outDir ./dist --rootDir ./src --target es2020 --module commonjs --declaration --esModuleInterop --skipLibCheck src/index.ts src/types.ts src/interfaces.ts src/environment.ts src/transports.ts","format":"prettier --write src/**/*.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c035c50-2488-4634-8dfe-0b19d5c7e340"}},"_resolved":"/tmp/351eb988fe0113f1ee5dfb1cc63246c1/bernierllc-logging-core-0.3.1.tgz","_integrity":"sha512-1l7RuqeLkEopKZsPOSY7BAgdvXgP0rqvVcRTIS5HbhghGMa9os0C1Ie2m7ClzhYG5qMvujlc7fU5ZLGXH12FQA==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.11.0","description":"Core logging interfaces and types for the Bernier LLC logging ecosystem","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/logging-core_0.3.1_1773078022631_0.893749388408134","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@bernierllc/logging-core","version":"0.3.2","keywords":["logging","types","interfaces","core","typescript"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/logging-core@0.3.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"d75c7dddcfe21c07d5e602bc623f522f2907ef98","tarball":"https://registry.npmjs.org/@bernierllc/logging-core/-/logging-core-0.3.2.tgz","fileCount":13,"integrity":"sha512-ngaYx1Gv5lIt6JkklMwZ/VOTUmaU8AaF1PJh0oYKJsxAGCKlHCz8O86uUlDKY5FA6vDYsqSmhtFiPwLdxIqmYQ==","signatures":[{"sig":"MEUCIEHkCQB18egL5C11fsIGY+qKjTGwbjmyu4L9h2H6N8HBAiEAuJXHC+cRm0a+v9mCzf7ofEPiYabe/I73H42zH6W4zio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19209},"main":"dist/index.js","_from":"file:bernierllc-logging-core-0.3.2.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc --outDir ./dist --rootDir ./src --target es2020 --module commonjs --declaration --esModuleInterop --skipLibCheck src/index.ts src/types.ts src/interfaces.ts src/environment.ts src/transports.ts","format":"prettier --write src/**/*.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c035c50-2488-4634-8dfe-0b19d5c7e340"}},"_resolved":"/tmp/1f74572d9b0cb716d0cc8fd80fb51cc6/bernierllc-logging-core-0.3.2.tgz","_integrity":"sha512-ngaYx1Gv5lIt6JkklMwZ/VOTUmaU8AaF1PJh0oYKJsxAGCKlHCz8O86uUlDKY5FA6vDYsqSmhtFiPwLdxIqmYQ==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.11.0","description":"Core logging interfaces and types for the Bernier LLC logging ecosystem","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/logging-core_0.3.2_1773081205849_0.9698472062919055","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bernierllc/logging-core","version":"0.4.0","keywords":["logging","types","interfaces","core","typescript"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/logging-core@0.4.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"3e1bcd2632a6adc045b90fef91f1bc33bddfe927","tarball":"https://registry.npmjs.org/@bernierllc/logging-core/-/logging-core-0.4.0.tgz","fileCount":13,"integrity":"sha512-Y4mTp8fUzz2LwWmFoE6mKMKyMLX7CqITDbTmSmBWWoBeoeMXVP4tEDji2uKcpyi66I5GG422PcVBIUF0DKotGQ==","signatures":[{"sig":"MEQCIC2VT0sRJE6cgBMfNOe/ENKvFjNjJEyoSmx1KdV/VFzkAiBgtkbsRPYekLhJlW2+4+SgbUhTO2ON4aMwIFtIW2ZpVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19209},"main":"dist/index.js","_from":"file:bernierllc-logging-core-0.4.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc --outDir ./dist --rootDir ./src --target es2020 --module commonjs --declaration --esModuleInterop --skipLibCheck src/index.ts src/types.ts src/interfaces.ts src/environment.ts src/transports.ts","format":"prettier --write src/**/*.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c035c50-2488-4634-8dfe-0b19d5c7e340"}},"_resolved":"/home/runner/work/tools/tools/packages/core/logging-core/bernierllc-logging-core-0.4.0.tgz","_integrity":"sha512-Y4mTp8fUzz2LwWmFoE6mKMKyMLX7CqITDbTmSmBWWoBeoeMXVP4tEDji2uKcpyi66I5GG422PcVBIUF0DKotGQ==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.14.1","description":"Core logging interfaces and types for the Bernier LLC logging ecosystem","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/logging-core_0.4.0_1779241221309_0.1070900988811101","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@bernierllc/logging-core","version":"0.5.0","keywords":["logging","types","interfaces","core","typescript"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/logging-core@0.5.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"cb64bb5a3316655af7b73aaded34335fd8233e79","tarball":"https://registry.npmjs.org/@bernierllc/logging-core/-/logging-core-0.5.0.tgz","fileCount":15,"integrity":"sha512-LAqX9HYzDppiW142nUnnDynSVPuPuXbOJo2qgcKmFlrDiR5noFhsZmz2ae+HRu9IY6NVQQPV/YVyS9FB3cKrzg==","signatures":[{"sig":"MEUCIFeFho3mRMeMyvZG71PrtAukAnY1R0grQUc4uJZozyBIAiEA8przYgOvk64SbWhBaJ6rc6D9XQpift30tnLHFhrL4DI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20902},"main":"dist/index.js","_from":"file:bernierllc-logging-core-0.5.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc --outDir ./dist --rootDir ./src --target es2022 --module commonjs --declaration --esModuleInterop --skipLibCheck src/index.ts src/types.ts src/interfaces.ts src/environment.ts src/transports.ts src/errors.ts","format":"prettier --write src/**/*.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c035c50-2488-4634-8dfe-0b19d5c7e340"}},"_resolved":"/home/runner/work/tools/tools/packages/core/logging-core/bernierllc-logging-core-0.5.0.tgz","_integrity":"sha512-LAqX9HYzDppiW142nUnnDynSVPuPuXbOJo2qgcKmFlrDiR5noFhsZmz2ae+HRu9IY6NVQQPV/YVyS9FB3cKrzg==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.14.1","description":"Core logging interfaces and types for the Bernier LLC logging ecosystem","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.4.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/logging-core_0.5.0_1779243232529_0.8304808651206157","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@bernierllc/logging-core","version":"0.6.0","description":"Core logging interfaces and types for the Bernier LLC logging ecosystem","main":"dist/index.js","types":"dist/index.d.ts","keywords":["logging","types","interfaces","core","typescript"],"author":{"name":"Bernier LLC"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bernier-llc/tools.git"},"devDependencies":{"@types/jest":"^29.5.14","@types/node":"^20.0.0","eslint":"^8.0.0","jest":"^29.5.0","prettier":"^3.0.0","ts-jest":"^29.4.0","typescript":"^5.0.0"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"test":"jest","build":"tsc --outDir ./dist --rootDir ./src --target es2022 --module commonjs --declaration --esModuleInterop --skipLibCheck src/index.ts src/types.ts src/interfaces.ts src/environment.ts src/transports.ts src/errors.ts","dev":"tsc --watch","lint":"eslint src/**/*.ts","format":"prettier --write src/**/*.ts"},"_id":"@bernierllc/logging-core@0.6.0","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"homepage":"https://github.com/bernier-llc/tools#readme","_integrity":"sha512-vB1XuUvVDC6hAqhcGdQDDzF/hBjVwHKsbNm1znRw2gLcfCu17vvv+5pP7AkfVvCOIUlDbunDLZ1RBZysNgcYuQ==","_resolved":"/home/runner/work/tools/tools/packages/core/logging-core/bernierllc-logging-core-0.6.0.tgz","_from":"file:bernierllc-logging-core-0.6.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"11.14.1","dist":{"integrity":"sha512-vB1XuUvVDC6hAqhcGdQDDzF/hBjVwHKsbNm1znRw2gLcfCu17vvv+5pP7AkfVvCOIUlDbunDLZ1RBZysNgcYuQ==","shasum":"a1333a66719ce0b4928f93cc678e305036a9885d","tarball":"https://registry.npmjs.org/@bernierllc/logging-core/-/logging-core-0.6.0.tgz","fileCount":15,"unpackedSize":20902,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCHuTVf2eNdUaFIzOEMRGhPyxp2Qe4nCONiBdx3IN4IQAIhANX3EAyTtxyJgFsKYrp4+rnoCTvg0pCguR2TUjxc2Rhj"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c035c50-2488-4634-8dfe-0b19d5c7e340"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/logging-core_0.6.0_1779249967722_0.36155101434380144"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-03T02:47:57.489Z","modified":"2026-05-20T04:06:07.996Z","0.1.0":"2025-08-03T02:47:57.812Z","0.3.0":"2026-01-05T19:45:12.302Z","0.3.1":"2026-03-09T17:40:22.778Z","0.3.2":"2026-03-09T18:33:26.033Z","0.4.0":"2026-05-20T01:40:21.470Z","0.5.0":"2026-05-20T02:13:52.676Z","0.6.0":"2026-05-20T04:06:07.866Z"},"bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"author":{"name":"Bernier LLC"},"license":"MIT","homepage":"https://github.com/bernier-llc/tools#readme","keywords":["logging","types","interfaces","core","typescript"],"repository":{"type":"git","url":"git+https://github.com/bernier-llc/tools.git"},"description":"Core logging interfaces and types for the Bernier LLC logging ecosystem","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/logging-core\n\nCore logging interfaces and types for the Bernier LLC logging ecosystem. This package provides the foundational types, interfaces, and utilities that other logging packages can build upon.\n\n## Features\n\n- **Core Types**: Log levels, entry types, and configuration interfaces\n- **Logger Interfaces**: Base logger, audit logger, and system logger interfaces\n- **Transport Interfaces**: Console, file, HTTP, and database transport definitions\n- **Environment Detection**: Utilities for detecting and configuring based on environment\n- **Type Safety**: Full TypeScript support with comprehensive type definitions\n- **Zero Dependencies**: Pure TypeScript with no external dependencies\n\n## Installation\n\n```bash\nnpm install @bernierllc/logging-core\n```\n\n## Usage\n\n### Basic Types\n\n```typescript\nimport { LogLevel, LogEntry, AuditLogEntry, SystemLogEntry } from '@bernierllc/logging-core';\n\n// Log levels\nconst level: LogLevel = 'info';\n\n// Base log entry\nconst entry: LogEntry = {\n  level: 'info',\n  message: 'Application started',\n  timestamp: new Date().toISOString(),\n  metadata: { userId: 'user123' }\n};\n\n// Audit log entry\nconst auditEntry: AuditLogEntry = {\n  actorId: 'user123',\n  action: 'LOGIN',\n  target: 'auth-system',\n  ip: '192.168.1.100'\n};\n\n// System log entry\nconst systemEntry: SystemLogEntry = {\n  level: 'error',\n  message: 'Database connection failed',\n  error: new Error('Connection timeout'),\n  timestamp: new Date().toISOString()\n};\n```\n\n### Logger Interfaces\n\n```typescript\nimport { ILogger, IAuditLogger, ISystemLogger } from '@bernierllc/logging-core';\n\n// Base logger interface\nconst logger: ILogger = {\n  log: (level, message, metadata) => { /* implementation */ },\n  error: (message, error, metadata) => { /* implementation */ },\n  warn: (message, metadata) => { /* implementation */ },\n  info: (message, metadata) => { /* implementation */ },\n  debug: (message, metadata) => { /* implementation */ }\n};\n\n// Audit logger interface\nconst auditLogger: IAuditLogger = {\n  ...logger,\n  logAudit: (entry) => { /* implementation */ }\n};\n\n// System logger interface\nconst systemLogger: ISystemLogger = {\n  ...logger,\n  logSystem: (entry) => { /* implementation */ }\n};\n```\n\n### Environment Detection\n\n```typescript\nimport { EnvironmentDetector } from '@bernierllc/logging-core';\n\n// Get current environment\nconst env = EnvironmentDetector.getEnvironment(); // 'development' | 'staging' | 'production' | 'test'\n\n// Environment checks\nif (EnvironmentDetector.isProduction()) {\n  // Production-specific logic\n}\n\nif (EnvironmentDetector.isDevelopment()) {\n  // Development-specific logic\n}\n\n// Get environment defaults\nconst defaults = EnvironmentDetector.getEnvironmentDefaults();\n```\n\n### Transport Interfaces\n\n```typescript\nimport { ITransport, ConsoleTransportConfig, FileTransportConfig } from '@bernierllc/logging-core';\n\n// Transport interface\nconst transport: ITransport = {\n  name: 'console',\n  level: 'info',\n  log: async (entry) => { /* implementation */ },\n  close: async () => { /* implementation */ }\n};\n\n// Transport configurations\nconst consoleConfig: ConsoleTransportConfig = {\n  level: 'debug',\n  enableColors: true,\n  enableTimestamps: true\n};\n\nconst fileConfig: FileTransportConfig = {\n  level: 'info',\n  filePath: './logs/app.log',\n  enableRotation: true,\n  maxSize: '10m',\n  maxFiles: '5'\n};\n```\n\n## API Reference\n\n### Types\n\n#### `LogLevel`\n```typescript\ntype LogLevel = 'error' | 'warn' | 'info' | 'debug';\n```\n\n#### `LogEntry`\n```typescript\ninterface LogEntry {\n  level: LogLevel;\n  message: string;\n  timestamp: string;\n  metadata?: Record<string, unknown>;\n  context?: string;\n  requestId?: string;\n  userId?: string;\n}\n```\n\n#### `AuditLogEntry`\n```typescript\ninterface AuditLogEntry {\n  actorId: string;\n  action: string;\n  target: string;\n  ip?: string;\n  metadata?: Record<string, unknown>;\n  timestamp?: string;\n  userId?: string;\n  sessionId?: string;\n  userAgent?: string;\n  requestId?: string;\n}\n```\n\n#### `SystemLogEntry`\n```typescript\ninterface SystemLogEntry extends LogEntry {\n  error?: Error;\n}\n```\n\n### Interfaces\n\n#### `ILogger`\nBase logger interface with standard logging methods.\n\n#### `IAuditLogger`\nExtends `ILogger` with audit-specific logging capabilities.\n\n#### `ISystemLogger`\nExtends `ILogger` with system logging capabilities.\n\n#### `ITransport`\nInterface for different logging destinations (console, file, HTTP, etc.).\n\n### Utilities\n\n#### `EnvironmentDetector`\nStatic class for environment detection and configuration.\n\n## Architecture\n\nThis package serves as the foundation for the logging ecosystem:\n\n```\n@bernierllc/logging-core (this package)\n├── Types and interfaces\n├── Environment detection\n└── Transport definitions\n\n@bernierllc/logging (service package)\n├── Winston integration\n├── File logging with rotation\n└── Production-ready defaults\n\n@bernierllc/logging-utils (util package)\n├── Performance monitoring\n├── Log analysis tools\n└── Format converters\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests for new functionality\n5. Ensure all tests pass\n6. Submit a pull request\n\n## License\n\nMIT License - see LICENSE file for details. ","readmeFilename":"README.md"}