A simple logger
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}!`)
- Verbose (
336 HueFollows default text color) - loglevel
1
- Header
V
- Debug (206 Hue)
- loglevel
2
- Header
D
- Info (122 Hue)
- loglevel
3
- Header
I
- Warning (35 Hue)
- loglevel
4
- Header
W
- Error (4 Hue)
- loglevel
5
- Header
E
- Contents will be colored to red
- Assert (294 Hue)
- loglevel
6
- Header
F
- type
code
string - type
title
string | number | boolean - loglevel
1
- Header
C
Prints code using emphasize(highlight.js)
Used highlight.js styles from github, so preview and types are available to highlight.js repo.
- type
css
css text
Set logger's color schema to css
css.
Class selector Prefix hljs
requires to parsing.
- type
theme
highlight.js theme (name)
Set logger's color schema to theme
.
I used emphasize's sheet.
Some theme may not supported.
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
}