53 lines
717 B
Go
53 lines
717 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
var (
|
|
silentMode bool
|
|
verboseMode bool
|
|
)
|
|
|
|
const (
|
|
colorRed = "\x1b[31m"
|
|
colorReset = "\x1b[0m"
|
|
)
|
|
|
|
type logger struct{}
|
|
|
|
func (logger) Info(args ...any) {
|
|
if silentMode {
|
|
return
|
|
}
|
|
fmt.Fprintln(os.Stdout, args...)
|
|
}
|
|
|
|
func (logger) Debug(args ...any) {
|
|
if silentMode || !verboseMode {
|
|
return
|
|
}
|
|
fmt.Fprintln(os.Stdout, args...)
|
|
}
|
|
|
|
func (logger) Println(args ...any) {
|
|
if silentMode {
|
|
return
|
|
}
|
|
fmt.Fprintln(os.Stdout, args...)
|
|
}
|
|
|
|
func (logger) Error(args ...any) {
|
|
fmt.Fprint(os.Stderr, colorRed)
|
|
fmt.Fprintln(os.Stderr, args...)
|
|
fmt.Fprint(os.Stderr, colorReset)
|
|
}
|
|
|
|
func (logger) Fatalln(args ...any) {
|
|
log.Error(args...)
|
|
os.Exit(1)
|
|
}
|
|
|
|
var log = logger{}
|