@wqlearning/sentry-logger
v1.0.10
Published
A TypeScript logger wrapper for Sentry with CommonJS and ESM support
Readme
Sentry Logger
A TypeScript wrapper for Sentry logging with CommonJS and ESM support.
Features
- Simple and consistent Sentry logging interface
- Support for both ESM and CommonJS modules
- Support for all Sentry log levels (trace, debug, info, warning, error, fatal)
Installation
npm install @wqlearning/sentry-logger
# or
yarn add @wqlearning/sentry-loggerUsage
Basic Usage
import { SentryLogger } from '@wqlearning/sentry-logger';
// Initialize the logger
const logger = new SentryLogger({
dsn: 'your-sentry-dsn',
env: 'development'
});
// Log messages
logger.log('Application started');
try {
// Your application code
throw new Error('Something went wrong');
} catch (error) {
// Log errors
logger.error('An error occurred', error, { additional: 'data' });
}
// Before shutting down your application
await logger.close();CommonJS Usage
const { SentryLogger } = require('@wqlearning/sentry-logger')
const logger = new SentryLogger({
dsn: 'your@sentry-dsn/project',
env: 'development'
})
logger.log('test', { message: 'test' })API
new SentryLogger({ dsn: string; env: string })
Creates a new logger instance.
dsn: Your Sentry DSN (Data Source Name)env: Environment name (e.g., 'development', 'production')
info(message: string, data?: Record<string, unknown>): void
or
log(message: string, data?: Record<string, unknown>): void
Logs an informational message.
message: The message to logdata: Optional additional data to include in the log entry
error(message: string, data?: Record<string, unknown>): void
Logs an error.
message: The error messagedata: Optional additional data to include with the error
warn(message: string, data?: Record<string, unknown>): void
Logs a warning.
message: The warning messagedata: Optional additional data to include with the warning
close(timeout = 2000): Promise<boolean>
Closes the Sentry client and flushes any pending events.
timeout: Maximum time to wait for events to be sent (in milliseconds)- Returns:
trueif closed successfully,falseotherwise
Development
Building
npm run buildTesting
npm testPublishing
- Update the version in
package.json - Commit and push changes
- Create a new release tag
- Run
npm publish
License
ISC
Notes
This library was primarily created for internal use to provide a consistent logging interface for Sentry logging, especially for CommonJS modules.
Sentry is a registered trademark of Functional Software, Inc.
Current library is not related to Sentry service or Functional Software, Inc in any way.
