@nerrewton/spring_logger

Tool for recording logs in node js with express framework using a third party or custom API

Usage no npm install needed!

<script type="module">
  import nerrewtonSpringLogger from 'https://cdn.skypack.dev/@nerrewton/spring_logger';
</script>

README

Spring Logger

This is a package for capturing error messages and tracking their origin, we include at first Sentry as a third party company for logging purposes but it can support others APIs.

Installation

npm install @nerrewton/spring_logger

Usage for node with Express

import express, { IRouter } from "express"
import { init as initSpringLogger, end as endSpringLogger, write as writeSpringLogger, NodeSentryLogger } from "@nerrewton/spring_logger"
import userRouter from "./routes/userRouter"

const app = express()
const router: IRouter = app.Router()
// SpringLogger Inicialization for Sentry node API
initSpringLogger( new NodeSentryLogger("http:<url external API>"), app )

// Unhandle error should be tracked by SpringLogger
app.get("/unhandle_error", function mainHandler(req, res) {
  throw new Error("My first error!")
})

// Manual trigger error tracking
app.get("/info_error", function manualError(req, res) {
  try{
    throw new Error("My first error!")
  }catch( e ){
    writeSpringLogger( "info", e )
  }
})

router.use("/user", userRouter)

// SpringLogger close inicialization for Sentry node API
endSpringLogger( app )

app.listen( 8080 , function () {
  console.log( " API is runing on port 8080")
})
// ./routes/userRouter.js
import { write as writeSpringLogger } from "@nerrewton/spring_logger"
import { Router } from 'express';

const userRouter = Router();

userRouter.get('/', (req, res): => {
  try{
    throw new Error("My first error from users router!")
  }catch( e ){
    // trigger manually an error from user router
    writeSpringLogger( "info", e )
  }
  return res.json("OK");
})

export default userRouter