Bladeren bron

修复调试模式设置后不生效的问题

Signed-off-by: 716 <[email protected]>
716 3 jaren geleden
bovenliggende
commit
6cc2934719
2 gewijzigde bestanden met toevoegingen van 30 en 21 verwijderingen
  1. 2 0
      internal/logic/pre_download_process/pre_download_proces.go
  2. 28 21
      internal/pkg/log_helper/loghelper.go

+ 2 - 0
internal/logic/pre_download_process/pre_download_proces.go

@@ -55,12 +55,14 @@ func (p *PreDownloadProcess) Init() *PreDownloadProcess {
 			p.gError = errors.New("log_helper.WriteDebugFile " + err.Error())
 			return p
 		}
+		log_helper.GetLogger(true).Infoln("Reload Log Settings, level = Debug")
 	} else {
 		err := log_helper.DeleteDebugFile()
 		if err != nil {
 			p.gError = errors.New("log_helper.DeleteDebugFile " + err.Error())
 			return p
 		}
+		log_helper.GetLogger(true).Infoln("Reload Log Settings, level = Info")
 	}
 	// ------------------------------------------------------------------------
 	// 获取验证码

+ 28 - 21
internal/pkg/log_helper/loghelper.go

@@ -1,6 +1,7 @@
 package log_helper
 
 import (
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/global_value"
 	rotatelogs "github.com/lestrrat-go/file-rotatelogs"
 	"github.com/sirupsen/logrus"
 	easy "github.com/t-tomalak/logrus-easy-formatter"
@@ -49,28 +50,34 @@ func SetLoggerName(logName string) {
 	logNameBase = logName
 }
 
-func GetLogger() *logrus.Logger {
+func GetLogger(reload ...bool) *logrus.Logger {
 
-	oneBase.Do(func() {
-
-		var level logrus.Level
-		// 之前是读取配置文件,现在改为,读取当前目录下,是否有一个特殊的文件,有则启动 Debug 日志级别
-		// 那么怎么写入这个文件,就靠额外的逻辑控制了
-		if isFile(DebugFileName) == true {
-			level = logrus.DebugLevel
-		} else {
-			level = logrus.InfoLevel
+	if len(reload) > 0 {
+		if reload[0] == true {
+			logInit()
 		}
+	}
+	oneBase.Do(logInit)
 
-		if logNameBase == "" {
-			// 默认不设置的时候就是这个
-			logNameBase = LogNameChineseSubFinder
-		}
+	return loggerBase
+}
 
-		loggerBase = NewLogHelper(logNameBase, level, time.Duration(7*24)*time.Hour, time.Duration(24)*time.Hour)
-	})
+func logInit() {
+	var level logrus.Level
+	// 之前是读取配置文件,现在改为,读取当前目录下,是否有一个特殊的文件,有则启动 Debug 日志级别
+	// 那么怎么写入这个文件,就靠额外的逻辑控制了
+	if isFile(filepath.Join(global_value.ConfigRootDirFPath, DebugFileName)) == true {
+		level = logrus.DebugLevel
+	} else {
+		level = logrus.InfoLevel
+	}
 
-	return loggerBase
+	if logNameBase == "" {
+		// 默认不设置的时候就是这个
+		logNameBase = LogNameChineseSubFinder
+	}
+
+	loggerBase = NewLogHelper(logNameBase, level, time.Duration(7*24)*time.Hour, time.Duration(24)*time.Hour)
 }
 
 func isFile(filePath string) bool {
@@ -83,10 +90,10 @@ func isFile(filePath string) bool {
 
 // WriteDebugFile 写入开启 Debug 级别日志记录的特殊文件,注意这个最好是在主程序中调用,这样就跟主程序在一个目录下生成,log 去检测是否存在才有意义
 func WriteDebugFile() error {
-	if isFile(DebugFileName) == true {
+	if isFile(filepath.Join(global_value.ConfigRootDirFPath, DebugFileName)) == true {
 		return nil
 	}
-	f, err := os.Create(DebugFileName)
+	f, err := os.Create(filepath.Join(global_value.ConfigRootDirFPath, DebugFileName))
 	defer func() {
 		_ = f.Close()
 	}()
@@ -99,10 +106,10 @@ func WriteDebugFile() error {
 // DeleteDebugFile 删除开启 Debug 级别日志记录的特殊文件
 func DeleteDebugFile() error {
 
-	if isFile(DebugFileName) == false {
+	if isFile(filepath.Join(global_value.ConfigRootDirFPath, DebugFileName)) == false {
 		return nil
 	}
-	err := os.Remove(DebugFileName)
+	err := os.Remove(filepath.Join(global_value.ConfigRootDirFPath, DebugFileName))
 	if err != nil {
 		return err
 	}