npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sbblog

v1.0.0

Published

X Log Js is a logging package

Downloads

7

Readme

SBB Log

SBB Log is a simple, light-weight, fast and usefull package to logging logs for your ReactJs, ExpressJs and NodeJs applications.

In this instructure you will learn about how to use this package in your apps.

Table of content

Installation

How to install SBB Log? To install this package, use NPM.

$ npm i sbblog

Config

So, import the package.

// ESM 6 and higher
import SBBLog from "sbblog";

// ESM 5 and lower
const SBBLog = require("sbblog");

To initializing logger, create your levels of logs. I suggest you to use levels like below:

const levels = {
  error: 1,
  warn: 2,
  info: 3,
};

now, init logger:

const logger = new SBBLog(levels);

Ok then, next step is creating transports.

Transports

We have 3 kind of transports.

  • Console
  • File
  • MongoDB

You can use your own values to initialize any of them. let's start with Console.

Console

Console transport just print the output of log in the cli ( console ).

This transport get an array of colors for each level. To create colors just copy data of your levels and replace number with colors. Like below:

const colors = {
  error: "red",
  warn: "yellow",
  info: "blue",
};

Now, pass it to logger to start console.

logger.addConsole(colors);

Done! Console transport is now created!

File

As you can understand, this is the file transport, just log into the file.

To initialize, pass 2 params. Filename and path. You mas save your file in /var/logs/application with file name of authentication.log. So, go ahead and create this transport.

logger.addFile("/var/logs/application", "authentication.log");

From now on, every log save into the database. Let's go one step further and create out transport for MongoDB!

MongoDB

Ok, congratulations for passing all steps and comming here. In this trasport, we save data in a database. This time is MongoDB.

Well, knowing just 2 item is enough. The MongoDB connection URL and your collection name that you want to store data.

In this example, I save data in AuthLog collection.

logger.addMongoDB("mongodb://localhost:27017/db", "AuthLog");

All 3 transports are now created and ready for logging!

Log

Right now just save your logs with log() method. But first let's covers items passing to log.

| Name | Data | Usage | | :-----: | :---------------------: | :---------------------------------------------------------------------: | | Level | info, error, warn | Here you describe the type of log. It is one of the levels you created. | | Message | String | Every log has a message, write your log message here. | | Context | {} | Pass any data you want to save as a context in an object. |

Now you know items, lets create an info log:

logger.log("info", "User logout", { uid: "785457465745648646578778" });

Or even an error log:

logger.log("error", "Failed to get data", {
  baseUrl: "https://gitlab.com/api/v4/users?username=BlackIQ",
});

All done, use it in the right way!


Development

If you want to develop the package, it is so simple. just follow steps below.

  • Clone the project
  • Install dependencies by running $ npm install
  • Start changing!
    • Link package
    • Test

Before you start: Remember the base or code are stored in lib/sbblog.js. You need to edit there.

Cloning the project

To clone the project, you need to have git installed. Ok, now clone it same as command below.

$ git clone https://gitlab.com/BlackIQ/sbblog

installing dependencies

Next, install what package uses with npm i or npm install.

$ npm i

Changing

To change package or anything, your need a testing environment to use linked package. Just follow steps.

Link package

We asoume you are in lib directory. Right. You can open a tmux or in another terminal to cd in test directory.

In lib directory enter link command:

$ npm link

So, in other terminal, or other tmux part, link your development package to your test directory. If you are in the test directory ok, if not, just say cd test and enter the linking command:

$ npm link sbblog

Linking step is done.

Test

Your test app is linked. Change anything in package and test it in test directory.