Rene Nochebuena d126d4ef7a
Some checks failed
Go CI/CD / go-ci (push) Has been cancelled
Add tests for panic and fatal log handling
Introduce tests for handling panic and fatal log scenarios, including recovery from panics and execution of external processes to test fatal behavior. Adjusted logging levels and prefixes to ensure consistency for PANIC logs.
2025-04-10 10:48:34 -06:00
2025-04-09 02:39:25 -06:00
2025-04-09 02:39:25 -06:00
2025-04-09 00:25:26 -06:00

πŸ”₯ 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!")

Description
Stonelog: 10 billion times more epic scientific logging! πŸ”¬πŸ’₯ Dr.Stone-style quotes, dramatic errors & badass successes. For the glory of the Kingdom of Science!
Readme MIT 73 KiB
v1.0.0 Latest
2025-04-10 18:43:33 -06:00
Languages
Go 100%