1.0.1 • Published 6 years ago

trace-node-logger v1.0.1

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

Logger + Stack Trace for Node JS

npm i trace-node-logger

npm.io

Example

file index.js

const { logger, register, registerError } = require('trace-node-logger')

const options = {
  path: null // or your absolute path to the file
}
// url: file:///C:/Users/User/AppData/Local/Temp/cIKgbarBs.log
const { path, url, end } = logger(options)

Note: use es6 import if you clone from GitHub. See Index.js

file lib.js

const { register } = require('trace-node-logger')
register('Go'/*[, ...]*/)

file any.js

const { registerError } = require('trace-node-logger')
try {
  throw 'bum'
} catch (error) {
  registerError('Bumm', 1, 2, 3/*[, ...]*/)
}

file User/AppData/Local/Temp/cIKgbarBs.log (or your absolute path)

Fri, 20 Dec 2019 21:50:49 GMT

Go
Trace: Bumm 1 2 3
    at C:\development\lib\logger\package\test\any.js:26:9
    at Interface._onLine (readline.js:314:5)
    at Interface._line (readline.js:693:8)
    ...

API

const { logger, register, registerError } = require('trace-node-logger')
// options -> {string|object}
const { path, url, end } = logger(options)
// return
// path {string}            C:/user/temp/abc.log
// url  {string}    file:///C:/user/temp/abc.log
// end  {function}

const urlend = end()
url === urlend // true

options {string|object}

const { resolve } = require('path')
const userPath = resolve(__dirname, 'app.log')
// options -> {path: userPath} || userPath
const { path, url, end } = logger(userPath)

If userPath !== (string||{path:string})
userPath = os.tmpdir()

register(obj1 , obj2, ..., objN)

register('str', {}, [1, 2])
// out
str {} [
  1,
  2
]

registerError(obj1 , obj2, ..., objN)

registerError('str', {}, [1, 2])
// out
Trace: str {} [
  1,
  2
]
    at Object.<anonymous> (c:\...\app.js:12:1)
    at ...

Details

const { register, end } = logger()
register('One') // write to file 
...
// this will force close the file descriptor
end()
register('Two') // not write to file

Demo

npm run demo
1.0.1

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago