Переглянути джерело

任务 #5805
1、日志文件按小时拆分;
2、只有在开发环境时才会打印SQL日志(config.xml <DebugMode value="1"/>);
3、修改默认日志文件存储时间为1年。

zhou.xiaoning 1 рік тому
батько
коміт
754030e8bc
3 змінених файлів з 23 додано та 15 видалено
  1. 10 6
      db/db.go
  2. 10 6
      db/mysqldb.go
  3. 3 3
      logger/logger.go

+ 10 - 6
db/db.go

@@ -48,12 +48,16 @@ func InitDbEngine() error {
 	Engine.SetMaxIdleConns(10)
 	Engine.SetMaxOpenConns(100)
 
-	// 将SQL写到日志文件
-	logger := log.NewSimpleLogger(logger.GetLogWriter())
-	Engine.SetLogger(logger)
-	// 将SQL打印到Console
-	Engine.ShowSQL(true)
-	Engine.SetTableMapper(core.SameMapper{})
+	if config.SerCfg.GetDebugMode() {
+		// 将SQL写到日志文件
+		logger := log.NewSimpleLogger(logger.GetLogWriter())
+		Engine.SetLogger(logger)
+		// 将SQL打印到Console
+		Engine.ShowSQL(true)
+		Engine.SetTableMapper(core.SameMapper{})
+	} else {
+		Engine.ShowSQL(false)
+	}
 
 	return nil
 }

+ 10 - 6
db/mysqldb.go

@@ -32,12 +32,16 @@ func InitMySQLDbEngine() error {
 	Engine.SetMaxIdleConns(10)
 	Engine.SetMaxOpenConns(100)
 
-	// 将SQL写到日志文件
-	logger := log.NewSimpleLogger(logger.GetLogWriter())
-	Engine.SetLogger(logger)
-	// 将SQL打印到Console
-	Engine.ShowSQL(true)
-	Engine.SetTableMapper(core.SameMapper{})
+	if config.SerCfg.GetDebugMode() {
+		// 将SQL写到日志文件
+		logger := log.NewSimpleLogger(logger.GetLogWriter())
+		MySQLEngine.SetLogger(logger)
+		// 将SQL打印到Console
+		MySQLEngine.ShowSQL(true)
+		MySQLEngine.SetTableMapper(core.SameMapper{})
+	} else {
+		MySQLEngine.ShowSQL(false)
+	}
 
 	return nil
 }

+ 3 - 3
logger/logger.go

@@ -38,9 +38,9 @@ func Init(logpath string, loglevel int) error {
 
 	// 设置分割规则
 	logWriter, err = rotatelogs.New(
-		logname+"_%Y-%m-%d.log",                   // 分割文件名
-		rotatelogs.WithMaxAge(7*24*time.Hour),     // 文件最长保存时间
-		rotatelogs.WithRotationTime(24*time.Hour), // 日志分割时间
+		logname+"_%Y-%m-%d_%H.log",                // 分割文件名
+		rotatelogs.WithMaxAge(365*7*24*time.Hour), // 文件最长保存时间
+		rotatelogs.WithRotationTime(time.Hour),    // 日志分割时间
 	)
 
 	// 映射日志级别与日志写对象