UNPKG

@nexssp/logdebug

Version:

Just log/debug for not only the Nexss Programmer..

120 lines (83 loc) 3.5 kB
# @nexssp/logdebug **25.06.2024 TypeScript Support** - Added TypeScript type definitions for better development experience. **15.01.2022 Upgrade** - Now works also with `import` as module. ## News - New **1.0.17**: tracking functions. `--debug:all` or `--debug:tracker` more below ## More Note: **1.0.15** Now by default all logs and debug funcs goes to stdout - except error one. To move all of them to stderr: `--output:stderr` Note: **1.0.12+** Now **header** function is size of terminal window. Note: **1.0.11+ See new time functions below ..** Easy loging/debuging. Going to stderr if `--debug`. You can change from stderr to stdout easy by another option `--debug:stdout`. You can disable logs just by adding `--quiet`. Maybe you need just debug information, combine it with `--quiet --debug`. ## Debug and Log functions and colors ![Nexss Log and Debug functions](https://user-images.githubusercontent.com/53263666/117049034-f4530f00-ad13-11eb-95f1-a4d80e42ec7d.png) ## Parameters This library is designed just to use cli process.argv directly. - **yourprogram.js --debug** # will display debugging information, without it won't. - **yourprogram.js --debug:stdout** # will pipe to stdout. - **yourprogram.js --quiet** # will hide logs information ## Examples note: below must be run with `--debug` or `--debug:stdio` . if you add `--quiet`, logs will not be displayed. ```js const log = require('@nexssp/log') const { bold } = require('@nexssp/ansi') // You can display debug infor by --debug or --debug:stdout log.dy('\t Debug yellow: ' + bold('log.dy')) log.dr('\t Debug red: ' + bold('log.dr')) log.dg('\t Debug green: ' + bold('log.dg')) log.di('\t Debug bold: ' + bold('log.di')) log.db('\t Debug blue: ' + bold('log.db')) log.du('\t Debug underscore: ' + bold('log.du')) // You can bellow hide by --quiet log.warn('\t Warning message ' + bold('log.warn')) log.error('\t error message ' + bold('log.error')) log.info('\t info message ' + bold('log.info')) log.success('sucess message ' + bold('log.success')) log.ok('\t ok message ' + bold('log.ok')) log.trace('\t trace message ' + bold('log.trace')) ``` ## Time options (1.0.11+) #### --debug:ms displays time from the begining. ![image](https://user-images.githubusercontent.com/8799218/96580565-c60e6480-12d8-11eb-82d0-e86516016299.png) #### --debug:diff Displays difference between each log. ![image](https://user-images.githubusercontent.com/8799218/96580751-0b329680-12d9-11eb-888a-14c2ce2b9dc1.png) ### Usage of tracker #### External Usage ```js const o = { run, // tracker will be only added to the functions start, var1, //Will not be added, only functions } const { applyTracker } = require('@nexssp/logdebug/tracker') applyTracker(o, null) ``` #### Composite ```js const { functionTracker } = require('../tracker') function myComposite(a, b, { option1, option2 } = {}) { const _a = a const _b = b const trackFunction = functionTracker('mytitle') let myfunc2 = (param2) => { console.log(`${_b}`, param2) } let myfunc1 = (param1) => { console.log(`${_a}: ${param1}`) myfunc2(`${_a}: ${param1}`, 'works!') } myfunc1 = trackFunction(myfunc1) myfunc2 = trackFunction(myfunc2) let o = { myfunc1, myfunc2, } // applyTracker(o) return o } const compo = myComposite(1, 'string') compo.myfunc1(1, 2, 3) compo.myfunc2(1, 2, 3) ```