@4alltecnologia/node-logger

node-logger

Usage no npm install needed!

<script type="module">
  import 4alltecnologiaNodeLogger from 'https://cdn.skypack.dev/@4alltecnologia/node-logger';
</script>

README

Logger Node 1.0.2

Usage

npm install @4alltecnologia/node-logger

Environment variables

# firehose
AWS_ACCESS_KEY_ID="userId"
AWS_SECRET_ACCESS_KEY="userKey"
AWS_REGION="us-east-1"

# stream
LOGGER_STREAM_TYPE="console" # or firehose
LOGGER_STREAM_NAME="firehose_stream_name"

# Skip logger
LOGGER_SKIP_STATUS="404"
LOGGER_SKIP_KEYS="authorization"
LOGGER_SKIP_METHODS="GET|OPTIONS"
LOGGER_SKIP_PATHS="|/|/status|/favicon.ico"

Express:

require('dotenv').config();

const express = require('express');
const { winston, morgan, error, knex } = require('@4alltecnologia/node-logger/config');
const Logger = require('@4alltecnologia/node-logger');
const compression = require('compression');

/* Express initialization */
const app = express();
const knex = require('./config/db');
knex(knex);

app.use(morgan());
app.use(compression()); // compression middleware needs to be after the morgan

// custom middleware

// routes

// log uncaught error
app.use(error);

(async () => {
  winston();

  app.listen(process.env.PORT, () => {
    Logger.info('Hello!!!');
  });
})();
const { winston } = require('logger/config');
const Logger = require('logger');

// You can set your transport if you needed
winston([transport1, transport2, ...]);

Logger.emerg('Hello!!!');
Logger.alert('Hello!!!');
Logger.crit('Hello!!!');
Logger.error('Hello!!!');
Logger.warning('Hello!!!');
Logger.notice('Hello!!!');
Logger.info('Hello!!!');

TODO

  • Unit Tests
  • File transport
  • Database transport?