1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package log
- /*
- log module is used to write log info to log file
- open a log file when log was created, and close it when log was destroyed
- */
- import (
- "fmt"
- go_log "log"
- "os"
- )
- var show_log bool = true
- var logger = go_log.New(os.Stdout, "", go_log.Ldate|go_log.Ltime|go_log.Lshortfile)
- const (
- LOG_LEVEL_DEBUG_COLOR = "\033[34m"
- LOG_LEVEL_INFO_COLOR = "\033[32m"
- LOG_LEVEL_WARN_COLOR = "\033[33m"
- LOG_LEVEL_ERROR_COLOR = "\033[31m"
- LOG_LEVEL_COLOR_END = "\033[0m"
- )
- func writeLog(level string, format string, stdout bool, v ...interface{}) {
- //write log
- format = fmt.Sprintf("["+level+"]"+format, v...)
- if show_log && stdout {
- if level == "DEBUG" {
- logger.Output(3, LOG_LEVEL_DEBUG_COLOR+format+LOG_LEVEL_COLOR_END)
- } else if level == "INFO" {
- logger.Output(3, LOG_LEVEL_INFO_COLOR+format+LOG_LEVEL_COLOR_END)
- } else if level == "WARN" {
- logger.Output(3, LOG_LEVEL_WARN_COLOR+format+LOG_LEVEL_COLOR_END)
- } else if level == "ERROR" {
- logger.Output(3, LOG_LEVEL_ERROR_COLOR+format+LOG_LEVEL_COLOR_END)
- } else if level == "PANIC" {
- logger.Output(3, LOG_LEVEL_ERROR_COLOR+format+LOG_LEVEL_COLOR_END)
- panic(fmt.Sprintf(format, v...))
- }
- }
- }
- func SetShowLog(show bool) {
- show_log = show
- }
- func Debug(format string, v ...interface{}) {
- writeLog("DEBUG", format, true, v...)
- }
- func Info(format string, v ...interface{}) {
- writeLog("INFO", format, true, v...)
- }
- func Warn(format string, v ...interface{}) {
- writeLog("WARN", format, true, v...)
- }
- func Error(format string, v ...interface{}) {
- writeLog("ERROR", format, true, v...)
- }
- func Panic(format string, v ...interface{}) {
- writeLog("PANIC", format, true, v...)
- }
|