chocolog v1.1.3
Chocolog
A simple logger
Usage
import { cLog } from "chocolog"
// access directly
cLog.d("🤔")
// create instance with name
const log = cLog.getLogger("tsmap")
log.d("🤔")
Parameters length can be 1
or 2+
// content with default header(name)
cLog.d("🤔")
// content with custom header (first param)
cLog.d("thinking face", "🤔")
// multiple content (joining all) params with custom header
cLog.d("faces", "🤔", "🙃", "😗")
Parameters type can be anything (but recommend Serializable)
// primitive type
cLog.i("Primitives", 37, " ", true, " ", null)
// simple object
cLog.i("Object", {
thinking: "🤔",
upsideDown: "🙃",
})
// array
cLog.i(["LoLInsect", "Detected"])
// map
const mp = new Map<string, string>()
mp.set("Top", "Teemo")
mp.set("Mid", "Riven")
mp.set("ADCarry", "Ezreal")
cLog.i("Loading", mp)
// Error
cLog.i("Oops", new Error("Trolling"))
// Function.. (not correctly)
cLog.i("Fn", (str:string) => `Hello, ${str}!`)
Logging API
cLog.v(title[, ...desc])
- Verbose (
336 HueFollows default text color) - loglevel
1
- Header
V
cLog.d(title[, ...desc])
- Debug (206 Hue)
- loglevel
2
- Header
D
cLog.i(title[, ...desc])
- Info (122 Hue)
- loglevel
3
- Header
I
cLog.w(title[, ...desc])
- Warning (35 Hue)
- loglevel
4
- Header
W
cLog.e(title[, ...desc])
- Error (4 Hue)
- loglevel
5
- Header
E
- Contents will be colored to red
cLog.wtf(title[, ...desc])
- Assert (294 Hue)
- loglevel
6
- Header
F
cLog.code(code[, title])
- type
code
string - type
title
string | number | boolean - loglevel
1
- Header
C
Prints code using emphasize(highlight.js)
Theme API
Used highlight.js styles from github, so preview and types are available to highlight.js repo.
cLog.setCssTheme(css)
- type
css
css text
Set logger's color schema to css
css.
Class selector Prefix hljs
requires to parsing.
async cLog.setStyleGithub(theme)
- type
theme
highlight.js theme (name)
Set logger's color schema to theme
.
I used emphasize's sheet.
Some theme may not supported.
Call Origin (Experimental)
Due to some limitation to parse call origin, default is disabled to use call origin.
Call origin can be enabled by passing CLOG_ORIGIN
enviroment.
This modifies stacktrace much deeper globally! I haven't found the way detecting caller without extended stacktrace.
// launch.json
"env": {
...
"CLOG_ORIGIN": "true"
}
And for typescript, It uses external sourcemap file
to get infomation of .ts
,
so needs to export sourceMap as .map
file.
// tsconfig.json
{
...
"sourceMap": true
}