An open API service indexing awesome lists of open source software.

https://github.com/hack4impact/logger

A lightweight & lightning-fast logger utility used by Hack4Impact projects
https://github.com/hack4impact/logger

hack4impact logger nodejs npm typescript

Last synced: about 1 month ago
JSON representation

A lightweight & lightning-fast logger utility used by Hack4Impact projects

Awesome Lists containing this project

README

        

Icon

Hack4Impact Logger


Version 
Downloads 
Build 
Coverage 
Code Quality

The 📦 lightweight & ⚡ lightning-fast Logger Utility used by Hack4Impact Projects

View the website for API documentation and more!

## Table of Contents

- [Why should you use Hack4Impact's Logger?](#why-should-you-use-hack4impacts-logger)
- [Installation](#installation)
- [Usage](#usage)
- [Website](#website)
- [Featured Dependents](#featured-dependents)
- [Contributors](#contributors)

## Why should you use Hack4Impact's Logger?

- 🚀 **NO dependencies, <1.1kB size (zipped)**
- ✨ TypeScript definitions **built in**
- 📖 **Thorough** and **detailed** [documentation](https://hack4impact.github.io/logger/docs/classes/logger)
- ✅ Tested **end-to-end** with Jest
- 🌟 Code quality **perfected** with linters ([Prettier](https://prettier.io/), [ESLint](https://eslint.org/), [EditorConfig](https://editorconfig.org/), [Markdownlint](https://github.com/DavidAnson/markdownlint)) to reduce **bundle size** and ensure **bug-free code**
- 💫 Automated [GitHub Workflows](https://github.com/hack4impact/logger/actions?query=workflow%3A%22Node+CI%22) ensure that every change is **high quality** and **functional**

## Installation

Using [npm](https://www.npmjs.com):

```shell
npm install @hack4impact/logger
```

Using [yarn](https://yarnpkg.com/):

```shell
yarn add @hack4impact/logger
```

You can browse the package's files on [unpkg](https://unpkg.com/browse/@hack4impact/logger/).

## Usage

```javascript
// ESM: import { join } from "path";
const { join } = require("path");

// ESM: import Logger from "@hack4impact/logger";
const Logger = require("@hack4impact/logger");

const outputFile = join(__dirname, "logs.json");

const logger = new Logger({ logsPath: outputFile });

// Log "Hello" an append a created Log object (w/ message, timestamp, index) to the output file
logger.log("Hello");

// Log "Hello" and don't append the Log object to the output file
logger.log("Hello", { writeToFile: false });

// Log "WARNING!" using console.warn and append to the output file
logger.warn("WARNING!");
// ↑ Can also use logger.log("WARNING!", { type: "warn" })

// Log "ERROR!" using console.error and append the created Log object (w/ extra as well) to the output file
logger.error("ERROR!", { extra: "Not logged but written to file" });

// Log a success message using the static method 'success'
Logger.success("It works!");

// The list goes on...

// Refer to the website for a comprehensive list of all methods with examples
```

## Website

[![Website Status](https://img.shields.io/website?url=https%3A%2F%2Fhack4impact.github.io%2Flogger%2F&style=flat-square&logo=github)](https://hack4impact.github.io/logger/)

**[The website contains all API documentation and information about this package.](https://hack4impact.github.io/logger/)**

## Featured Dependents

If your project uses this package, you can add it to this list by submitting a PR [here](https://github.com/hack4impact/logger/pulls).

| Owner | Repository Information |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|

[Hack4Impact](https://github.com/hack4impact)

| [![Feedback Survey Automation](https://github-readme-stats.vercel.app/api/pin/?username=hack4impact&repo=feedback-survey-automation)](https://github.com/hack4impact/feedback-survey-automation) |
|

[Hack4Impact Calpoly](https://github.com/hack4impact-calpoly)

| [![Feedback Survey Automation](https://github-readme-stats.vercel.app/api/pin/?username=hack4impact-calpoly&repo=happy-hats)](https://github.com/hack4impact-calpoly/happy-hats) |

## Contributors

Project Contributors ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Yash Totale

💻 🤔 📖

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!