22copyright 2023 Qizhi Huang(flaggyellow@qq.com)
33*/
44
5- package main
5+ package src
66
77import (
88 "log"
@@ -30,7 +30,7 @@ var LevelPrefixDict map[int]string = map[int]string{
3030 LEVEL_ERROR : "ERROR: " ,
3131}
3232
33- type Logger struct {
33+ type Log struct {
3434 logDir string
3535 logName string
3636 fileWriter * os.File
@@ -40,12 +40,20 @@ type Logger struct {
4040 debug bool
4141}
4242
43- func NewLogger () * Logger {
43+ var Logger * Log
44+ var logger * Log
45+
46+ func init () {
47+ Logger = NewLogger ()
48+ logger = Logger
49+ }
50+
51+ func NewLogger () * Log {
4452 var err error
4553 tm := time .Unix (0 , time .Now ().UnixNano ())
4654 timestr := tm .Format ("2006-01-02_15-04-05" )
4755 filename := "migrate_log_" + timestr + ".log"
48- l := & Logger {
56+ l := & Log {
4957 logDir : "./logs" ,
5058 logName : filename ,
5159 debug : false ,
@@ -69,15 +77,15 @@ func NewLogger() *Logger {
6977 return l
7078}
7179
72- func (l * Logger ) SetDebug () {
80+ func (l * Log ) SetDebug () {
7381 l .debug = true
7482}
7583
76- func (l * Logger ) IsDebug () bool {
84+ func (l * Log ) IsDebug () bool {
7785 return l .debug
7886}
7987
80- func (l * Logger ) LogString (str string , target int , level int ) {
88+ func (l * Log ) LogString (str string , target int , level int ) {
8189 if level == LEVEL_DEBUG {
8290 if ! l .debug {
8391 return
@@ -96,12 +104,12 @@ func (l *Logger) LogString(str string, target int, level int) {
96104 }
97105}
98106
99- func (l * Logger ) LogError (err error ) {
107+ func (l * Log ) LogError (err error ) {
100108 l .fileLogger .Println ("ERROR: " , err .Error ())
101109 l .errorLogger .Println ("ERROR: " , err )
102110}
103111
104- func (l * Logger ) close () {
112+ func (l * Log ) Close () {
105113 l .fileLogger = nil
106114 l .fileWriter .Close ()
107115 l .consoleLogger = nil
0 commit comments