stonelog/README.md
Rene Nochebuena 94c6e882fb
Some checks failed
Go CI/CD / go-ci (push) Has been cancelled
Add a structured logging utility with custom prefixes and suffixes
Introduce a logging system supporting multiple severity levels, JSON formatting, and customizable prefixes and suffixes inspired by Dr. Stone. Includes random success and failure quotes to make logging more dynamic and engaging.
2025-04-09 22:54:16 -06:00

3.2 KiB

πŸ”₯ Stonelog - 10 Billion Times Better Logging!

The most scientifically badass logging library from the Kingdom of Science!

Kingdom of Science Approved SO BADASS 10 BILLION

πŸš€ Why Stonelog?

  • Dr.Stone-themed logging that Senku would approve
  • Dramatic error messages worthy of a lab explosion
  • Character quotes from your favorite scientists
  • 10 billion watts of scientific swagger

πŸ’₯ Installation

go get gitstormr.dev/stone-utils/stonelog@latest

⚑ Initialization

package main

import (
	"gitstormr.dev/stone-utils/stonelog"
)

func main() {
	// Basic configuration (INFO level by default)
	stonelog.InitStoneLog(stonelog.INFO, false, false) // false = text mode (true = JSON), false = keep suffixes (true = don't add character quotes)

	// Example logs
	stonelog.Observation("System initialized successfully!")
	stonelog.Failure("Reactor core temperature critical!")
}

πŸ“œ Log Levels (Scientific Style!)

Function Level Equivalent Example Output
Trace() TRACE πŸ” Science traces: Entering function X
Debug() DEBUG πŸ€” Hypothesis forming: Variable X = 42
Observation() INFO βœ… Experiment successful: User logged in
Hypothesis() WARN ⚠️ Anomaly detected: High memory usage
Failure() ERROR πŸ’₯ Critical malfunction: DB disconnected
Meltdown() FATAL ☠️ FINAL EXPERIMENT FAILED: Server exploded
Panic() PANIC 🚨 CHAIN REACTION DETECTED: Unrecoverable error

πŸŽ›οΈ Changing Log Level

// Dynamic change! (e.g., enable DEBUG in production)
stonelog.SetLogLevel(stonelog.DEBUG)

πŸ”¬ JSON Mode (For Production)

stonelog.InitStoneLab(stonelog.STONE_DEBUG, true, false) // true = JSON, false = Keep suffixes
// Output: {"time":"2023-07-15T12:00:00Z","level":"OBSERVATION","message":"βœ… Experiment successful: System ready","caller":"main.go:15"}

🚨 WINDOWS COLOR SUPPORT NOTICE 🚨

"HEY WINDOWS USERS! YOUR TERMINALS NEED SOME SCIENCE!" - Chrome

πŸ”¬ Current Limitations:

  • Colors don't work in old Windows Command Prompt (CMD)
  • Looks boring in black & white (like stone tablets!)
  • Works perfectly in modern terminals

πŸ’‘ Senku-Approved Solutions:

  1. Install Windows Terminal (Microsoft Store)
  2. Use WSL (Windows Subsystem for Linux)
  3. Try VS Code or Git Bash

"This temporary setback represents just 0.0000001% of our scientific progress!"

  • Dr. Senku Ishigami

(Chrome whispers: "Pssst... Linux terminals are SO BADASS!") 🐧πŸ”₯

Join the Scientific Revolution!

"This isn't just logging - it's 10 billion percent scientific progress!" - Senku Ishigami

Kingdom of Science Approved

(Now with 100% more Chrome screaming "SO BADASS!")