@cabysis/candy-logger
v1.0.8
Published
Logger service with AWS S3 integration for storing logs
Downloads
12
Readme
@cabysis/candy-logger
@cabysis/candy-logger
is a TypeScript library developed by CabySis designed to facilitate the creation and storage of logs in Amazon S3.
Table of Contents
Features
- Log Levels: Supports multiple log levels, including
info
,warn
,error
,debug
, andhttp
. - AWS S3 Storage: Allows you to save logs in a previously configured S3 bucket.
- Application Organization: Each logger instance can be identified by an application name, facilitating organization and log analysis in environments with multiple applications.
Installation
To install @cabysis/candy-logger
, you can use npm:
npm install @cabysis/candy-logger
Basic Usage
Import the Library
import { createLogger, LoggerConfig } from '@cabysis/candy-logger';
Logger Configuration
Create a logger instance by configuring the necessary parameters:
const loggerConfig: LoggerConfig = {
awsRegion: 'your-aws-region', // AWS region where the S3 bucket is located
awsBucket: 'your-s3-bucket', // Name of the S3 bucket
logLevel: 'your-default-level', // Default log level
serviceName: 'your-app-name', // Application name to identify the logs
credentials: AwsCredentialIdentity | Provider<AwsCredentialIdentity> // AWS credentials object
};
Create the logger instance with the configuration:
const logger = createLogger(loggerConfig);
Logging Messages
Use the logger to record messages at different levels:
logger.info('This is an informational message');
logger.warn('This is a warning message');
logger.error('This is an error message'); // Has a second optional parameter: stacktrace
logger.debug('This is a debug message');
logger.http('This is an HTTP message');
Examples
Complete Example
Here’s a complete example of how to use @cabysis/candy-logger
in an application:
import { createLogger, LoggerConfig } from '@cabysis/candy-logger';
const loggerConfig: LoggerConfig = {
awsRegion: 'us-east-2',
awsBucket: 'my-bucket',
logLevel: 'info',
serviceName: 'my-app',
credentials: fromSSO({ profile: ENV_SSO_PROFILE }) // Configuration for AWS SSO profiles
};
const logger = createLogger(loggerConfig);
logger.info('This is an informational message');
logger.warn('This is a warning message');
logger.debug('This is a debug message');
logger.http('This is an HTTP message');
logger.error('This is an error message');
logger.error('An error occurred', 'Error stack trace');
License
This project is licensed under the MIT License. See the LICENSE file for more details.