aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--conf/app.ini58
-rw-r--r--modules/base/conf.go30
-rw-r--r--modules/log/log.go2
4 files changed, 77 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore
index 6559d61a..3e550c3f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,4 @@ gogs
*.db
*.log
custom/
-.vendor/
+.vendor/ \ No newline at end of file
diff --git a/conf/app.ini b/conf/app.ini
index 5dc21a67..e42fc244 100644
--- a/conf/app.ini
+++ b/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 = \ No newline at end of file
+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 = \ No newline at end of file
diff --git a/modules/base/conf.go b/modules/base/conf.go
index 83c7f887..1aafd5b4 100644
--- a/modules/base/conf.go
+++ b/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", "example@example.com"),
+ 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", "example@example.com"),
- Passwd: Cfg.MustValue("mailer", "PASSWD", "******"),
- }
- log.Info("Mail Service Enabled")
- }
+ // Extensions.
+ newLogService()
+ newMailService()
}
diff --git a/modules/log/log.go b/modules/log/log.go
index 0634bde6..b888f500 100644
--- a/modules/log/log.go
+++ b/modules/log/log.go
@@ -11,7 +11,7 @@ import (
var logger *logs.BeeLogger
-func init() {
+func NewLogger() {
logger = logs.NewLogger(10000)
logger.SetLogger("console", "")
}