Unknown 11 lat temu
rodzic
commit
460aa3eaa9
4 zmienionych plików z 77 dodań i 15 usunięć
  1. 1 1
      .gitignore
  2. 55 3
      conf/app.ini
  3. 20 10
      modules/base/conf.go
  4. 1 1
      modules/log/log.go

+ 1 - 1
.gitignore

@@ -5,4 +5,4 @@ gogs
 *.db
 *.log
 custom/
-.vendor/
+.vendor/

+ 55 - 3
conf/app.ini

@@ -2,7 +2,7 @@
 APP_NAME = Gogs: Go Git Service
 ; !!MUST CHANGE TO YOUR USER NAME!!
 RUN_USER = lunny
-; Either "dev", "prod" or "test", based on martini
+; Either "dev", "prod" or "test", default is "dev"
 RUN_MODE = dev
 
 [repository]
@@ -32,9 +32,61 @@ USER_PASSWD_SALT = !#@FDEWREWR&*(
 [mailer]
 ENABLED = false
 ; Name displayed in mail title
-NAME = %(APP_NAME)s
+SUBJECT = %(APP_NAME)s
 ; Mail server
 HOST = 
 ; Mailer user name and password
 USER = 
-PASSWD = 
+PASSWD = 
+
+[log]
+; Either "console", "file", "conn" or "smtp", default is "console"
+MODE = console
+; Buffer length of channel, keep it as it is if you don't know what it is.
+BUFFER_LEN = 10000
+; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
+LEVEL = Trace
+
+; For "console" mode only, all log files will be stored in "/log" directory
+[log.console]
+LEVEL = 
+
+; For "file" mode only
+[log.file]
+LEVEL = 
+FILE_NAME = "gogs.log"
+; This enables automated log rotate(switch of following options), default is true
+LOG_ROTATE = 
+; Max line number of single file, default is 1000000
+MAX_LINES = 1000000
+; Max size of single file, default is 1 << 28, 256MB
+MAX_SIZE = 1 << 28
+; Segment log daily, default is true
+DAILY_ROTATE = true
+; Expired days of log file(delete after max days), default is 7
+MAX_DAYS = 7
+
+; For "conn" mode only
+[log.conn]
+LEVEL = 
+; Reconnect host for every single message, default is false
+RECONNECT_ON_MSG = false
+; Try to reconnect when connection is lost, default is false
+RECONNECT = false
+; Either "tcp", "unix" or "udp", default is "tcp"
+PROTOCOL = tcp
+; Host address
+ADDR = 
+
+; For "smtp" mode only
+[log.smtp]
+LEVEL = 
+; Name displayed in mail title, default is "Diagnostic message from serve"
+SUBJECT = Diagnostic message from serve
+; Mail server
+HOST = 
+; Mailer user name and password
+USER = 
+PASSWD =
+; Receivers, can be one or more
+RECEIVERS = 

+ 20 - 10
modules/base/conf.go

@@ -44,6 +44,23 @@ func exeDir() (string, error) {
 	return path.Dir(p), nil
 }
 
+func newLogService() {
+	log.NewLogger()
+}
+
+func newMailService() {
+	// Check mailer setting.
+	if Cfg.MustBool("mailer", "ENABLED") {
+		MailService = &Mailer{
+			Name:   Cfg.MustValue("mailer", "NAME", AppName),
+			Host:   Cfg.MustValue("mailer", "HOST", "127.0.0.1:25"),
+			User:   Cfg.MustValue("mailer", "USER", "[email protected]"),
+			Passwd: Cfg.MustValue("mailer", "PASSWD", "******"),
+		}
+		log.Info("Mail Service Enabled")
+	}
+}
+
 func init() {
 	var err error
 	workDir, err := exeDir()
@@ -72,14 +89,7 @@ func init() {
 	AppName = Cfg.MustValue("", "APP_NAME", "Gogs: Go Git Service")
 	Domain = Cfg.MustValue("server", "DOMAIN")
 
-	// Check mailer setting.
-	if Cfg.MustBool("mailer", "ENABLED") {
-		MailService = &Mailer{
-			Name:   Cfg.MustValue("mailer", "NAME", AppName),
-			Host:   Cfg.MustValue("mailer", "HOST", "127.0.0.1:25"),
-			User:   Cfg.MustValue("mailer", "USER", "[email protected]"),
-			Passwd: Cfg.MustValue("mailer", "PASSWD", "******"),
-		}
-		log.Info("Mail Service Enabled")
-	}
+	// Extensions.
+	newLogService()
+	newMailService()
 }

+ 1 - 1
modules/log/log.go

@@ -11,7 +11,7 @@ import (
 
 var logger *logs.BeeLogger
 
-func init() {
+func NewLogger() {
 	logger = logs.NewLogger(10000)
 	logger.SetLogger("console", "")
 }