소스 검색

Add install option for log path

Josh Frye 8 년 전
부모
커밋
a3e8c32a30
5개의 변경된 파일202개의 추가작업 그리고 184개의 파일을 삭제
  1. 2 0
      conf/locale/locale_en-US.ini
  2. 1 0
      modules/auth/user_form.go
  3. 184 184
      modules/bindata/bindata.go
  4. 10 0
      routers/install.go
  5. 5 0
      templates/install.tmpl

+ 2 - 0
conf/locale/locale_en-US.ini

@@ -86,6 +86,7 @@ http_port = HTTP Port
 http_port_helper = Port number which application will listen on.
 app_url = Application URL
 app_url_helper = This affects HTTP/HTTPS clone URL and somewhere in email.
+log_root_path = Log Path
 
 optional_title = Optional Settings
 email_title = Email Service Settings
@@ -122,6 +123,7 @@ run_user_not_match = Run user isn't the current user: %s -> %s
 save_config_failed = Fail to save configuration: %v
 invalid_admin_setting = Admin account setting is invalid: %v
 install_success = Welcome! We're glad that you chose Gogs, have fun and take care.
+invalid_log_root_path = Log root path is invalid: %v
 
 [home]
 uname_holder = Username or email

+ 1 - 0
modules/auth/user_form.go

@@ -27,6 +27,7 @@ type InstallForm struct {
 	SSHPort      int
 	HTTPPort     string `binding:"Required"`
 	AppUrl       string `binding:"Required"`
+	LogRootPath  string
 
 	SMTPHost        string
 	SMTPFrom        string

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 184 - 184
modules/bindata/bindata.go


+ 10 - 0
routers/install.go

@@ -154,6 +154,7 @@ func Install(ctx *middleware.Context) {
 	form.SSHPort = setting.SSHPort
 	form.HTTPPort = setting.HttpPort
 	form.AppUrl = setting.AppUrl
+	form.LogRootPath = setting.LogRootPath
 
 	// E-mail service settings
 	if setting.MailService != nil {
@@ -241,6 +242,14 @@ func InstallPost(ctx *middleware.Context, form auth.InstallForm) {
 		return
 	}
 
+	// Test log root path.
+	form.LogRootPath = strings.Replace(form.LogRootPath, "\\", "/", -1)
+	if err := os.MkdirAll(form.LogRootPath, os.ModePerm); err != nil {
+		ctx.Data["Err_LogRootPath"] = true
+		ctx.RenderWithErr(ctx.Tr("install.invalid_log_root_path", err), INSTALL, &form)
+		return
+	}
+
 	// Check run user.
 	curUser := user.CurrentUsername()
 	if form.RunUser != curUser {
@@ -329,6 +338,7 @@ func InstallPost(ctx *middleware.Context, form auth.InstallForm) {
 
 	cfg.Section("log").Key("MODE").SetValue("file")
 	cfg.Section("log").Key("LEVEL").SetValue("Info")
+	cfg.Section("log").Key("ROOT_PATH").SetValue(form.LogRootPath)
 
 	cfg.Section("security").Key("INSTALL_LOCK").SetValue("true")
 	cfg.Section("security").Key("SECRET_KEY").SetValue(base.GetRandomString(15))

+ 5 - 0
templates/install.tmpl

@@ -109,6 +109,11 @@
 						<input id="app_url" name="app_url" value="{{.app_url}}" placeholder="e.g. https://try.gogs.io" required>
 						<span class="help">{{.i18n.Tr "install.app_url_helper"}}</span>
 					</div>
+					<div class="inline required field">
+						<label for="log_root_path">{{.i18n.Tr "install.log_root_path"}}</label>
+						<input id="log_root_path" name="log_root_path" value="{{.log_root_path}}" placeholder="log" required>
+					</div>
+
 
 					<!-- Optional Settings -->
 					<h4 class="ui dividing header">{{.i18n.Tr "install.optional_title"}}</h4>

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.