1.0.1 • Published 6 years ago
trace-node-logger v1.0.1
Logger + Stack Trace for Node JS
npm i trace-node-logger
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