123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package main
- import (
- "io"
- "io/ioutil"
- "log"
- "os"
- "github.com/fatih/color"
- )
- type DebugLog struct {
- logger *log.Logger
- }
- type InfoLog struct {
- logger *log.Logger
- }
- type WarningLog struct {
- logger *log.Logger
- }
- type ErrorLog struct {
- logger *log.Logger
- }
- var (
- Debug = &DebugLog{}
- Info = &InfoLog{}
- Warning = &WarningLog{}
- Error = &ErrorLog{}
- )
- func (l *DebugLog) F(fmt string, text ...interface{}) {
- l.logger.Print(color.MagentaString(fmt, text...))
- }
- func (l *DebugLog) Ln(text ...interface{}) {
- l.logger.Print(color.MagentaString("%s", text...))
- }
- func (l *InfoLog) F(fmt string, text ...interface{}) {
- l.logger.Print(color.WhiteString(fmt, text...))
- }
- func (l *InfoLog) Ln(text ...interface{}) {
- l.logger.Print(color.WhiteString("%s", text...))
- }
- func (l *WarningLog) F(fmt string, text ...interface{}) {
- l.logger.Print(color.YellowString(fmt, text...))
- }
- func (l *WarningLog) Ln(text ...interface{}) {
- l.logger.Print(color.YellowString("%s", text...))
- }
- func (l *ErrorLog) F(fmt string, text ...interface{}) {
- l.logger.Print(color.RedString(fmt, text...))
- }
- func (l *ErrorLog) Ln(text ...interface{}) {
- l.logger.Print(color.RedString("%s", text...))
- }
- func (l *DebugLog) init(w io.Writer, prefix string, flag int) {
- l.logger = &log.Logger{}
- l.logger = log.New(w, prefix, flag)
- }
- func (l *InfoLog) init(w io.Writer, prefix string, flag int) {
- l.logger = &log.Logger{}
- l.logger = log.New(w, prefix, flag)
- }
- func (l *WarningLog) init(w io.Writer, prefix string, flag int) {
- l.logger = &log.Logger{}
- l.logger = log.New(w, prefix, flag)
- }
- func (l *ErrorLog) init(w io.Writer, prefix string, flag int) {
- l.logger = &log.Logger{}
- l.logger = log.New(w, prefix, flag)
- }
- func LogInit(debug bool) {
- var debugOut io.Writer
- if debug {
- debugOut = os.Stdout
- } else {
- debugOut = ioutil.Discard
- }
- Debug.init(debugOut, "", 0)
- Info.init(os.Stdout, "", 0)
- Warning.init(os.Stdout, "", 0)
- Error.init(os.Stderr, "", 0)
- }
|