1.1.3 • Published 5 years ago

chocolog v1.1.3

Weekly downloads
1
License
MIT
Repository
gitlab
Last release
5 years ago

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", "🤔", "🙃", "😗")

alt text

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}!`)

param type

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

log bg

cLog.code(code[, title])

  • type code string
  • type title string | number | boolean
  • loglevel 1
  • Header C

Prints code using emphasize(highlight.js)

log code

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.

Example

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
}