func main() { log.SetOutput(os.Stdout) setQiniuHosts() args := os.Args argc := len(args) var configFilePath string switch argc { case 2: configFilePath = args[1] default: help() return } //load config ufopConf := &ufop.UfopConfig{} confErr := ufopConf.LoadFromFile(configFilePath) if confErr != nil { log.Error("load config file error,", confErr) return } ufopServ := ufop.NewServer(ufopConf) //register job handlers if err := ufopServ.RegisterJobHandler("amerge.conf", &amerge.AudioMerger{}); err != nil { log.Error(err) } if err := ufopServ.RegisterJobHandler("html2image.conf", &html2image.Html2Imager{}); err != nil { log.Error(err) } if err := ufopServ.RegisterJobHandler("html2pdf.conf", &html2pdf.Html2Pdfer{}); err != nil { log.Error(err) } if err := ufopServ.RegisterJobHandler("mkzip.conf", &mkzip.Mkzipper{}); err != nil { log.Error(err) } if err := ufopServ.RegisterJobHandler("unzip.conf", &unzip.Unzipper{}); err != nil { log.Error(err) } if err := ufopServ.RegisterJobHandler("imagecomp.conf", &imagecomp.ImageComposer{}); err != nil { log.Error(err) } if err := ufopServ.RegisterJobHandler("roundpic.conf", &roundpic.RoundPicer{}); err != nil { log.Error(err) } //listen ufopServ.Listen() }
func newLogger(logPath string) { os.MkdirAll(path.Dir(logPath), os.ModePerm) f, err := os.OpenFile(logPath, os.O_WRONLY|os.O_APPEND|os.O_CREATE, os.ModePerm) if err != nil { qlog.Fatal(err) } qlog.SetOutput(f) qlog.Info("Start logging serv...") }
func newUpdateLogger(execDir string) { logPath := execDir + "/log/update.log" os.MkdirAll(path.Dir(logPath), os.ModePerm) f, err := os.OpenFile(logPath, os.O_WRONLY|os.O_APPEND|os.O_CREATE, os.ModePerm) if err != nil { qlog.Fatal(err) } qlog.SetOutput(f) qlog.Info("Start logging update...") }
func newLogger(execDir string) { logPath := execDir + "/log/serv.log" os.MkdirAll(path.Dir(logPath), os.ModePerm) f, err := os.OpenFile(logPath, os.O_WRONLY|os.O_APPEND|os.O_CREATE, os.ModePerm) if err != nil { qlog.Fatal(err) } qlog.SetOutput(f) //qlog.SetOutputLevel(qlog.Ldebug) qlog.Info("Start logging serv...") }
func main() { args := os.Args argc := len(args) log.SetOutputLevel(log.Linfo) log.SetOutput(os.Stdout) if argc > 1 { cmd := "" params := []string{} option := args[1] if option == "-d" { if argc > 2 { cmd = args[2] if argc > 3 { params = args[3:] } } log.SetOutputLevel(log.Ldebug) } else if option == "-v" { cli.Version() return } else if option == "-h" { cli.Help("help") return } else { cmd = args[1] if argc > 2 { params = args[2:] } } if cmd == "" { fmt.Println("Error: no subcommand specified") return } hit := false for cmdName, cliFunc := range supportedCmds { if cmdName == cmd { cliFunc(cmd, params...) hit = true break } } if !hit { fmt.Println(fmt.Sprintf("Error: unknown cmd `%s'", cmd)) } } else { fmt.Println("Use help or help [cmd1 [cmd2 [cmd3 ...]]] to see supported commands.") } }
func initLog(logLevel int, logFile string) (err error) { log.Info("init log") log.SetOutputLevel(logLevel) var logFp *os.File if logFile == "stdout" { logFp = os.Stdout } else { var openErr error logFp, openErr = os.OpenFile(logFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if openErr != nil { err = openErr return } } log.SetOutput(logFp) return }
// for command: ./gogs update func runUpdate(c *cli.Context) { base.NewConfigContext() models.LoadModelsConfig() if models.UseSQLite3 { execDir, _ := base.ExecDir() os.Chdir(execDir) } models.SetEngine() w, _ := os.Create("update.log") defer w.Close() log.SetOutput(w) args := c.Args() //log.Info(args) if len(args) != 3 { log.Error("received less 3 parameters") return } refName := args[0] if refName == "" { log.Error("refName is empty, shouldn't use") return } oldCommitId := args[1] newCommitId := args[2] isNew := strings.HasPrefix(oldCommitId, "0000000") if isNew && strings.HasPrefix(newCommitId, "0000000") { log.Error("old rev and new rev both 000000") return } userName := os.Getenv("userName") userId := os.Getenv("userId") //repoId := os.Getenv("repoId") repoName := os.Getenv("repoName") f := models.RepoPath(userName, repoName) gitUpdate := exec.Command("git", "update-server-info") gitUpdate.Dir = f gitUpdate.Run() repo, err := git.OpenRepository(f) if err != nil { log.Error("runUpdate.Open repoId: %v", err) return } newOid, err := git.NewOidFromString(newCommitId) if err != nil { log.Error("runUpdate.Ref repoId: %v", err) return } newCommit, err := repo.LookupCommit(newOid) if err != nil { log.Error("runUpdate.Ref repoId: %v", err) return } var l *list.List // if a new branch if isNew { l, err = repo.CommitsBefore(newCommit.Id()) if err != nil { log.Error("Find CommitsBefore erro:", err) return } } else { oldOid, err := git.NewOidFromString(oldCommitId) if err != nil { log.Error("runUpdate.Ref repoId: %v", err) return } oldCommit, err := repo.LookupCommit(oldOid) if err != nil { log.Error("runUpdate.Ref repoId: %v", err) return } l = repo.CommitsBetween(newCommit, oldCommit) } if err != nil { log.Error("runUpdate.Commit repoId: %v", err) return } sUserId, err := strconv.Atoi(userId) if err != nil { log.Error("runUpdate.Parse userId: %v", err) return } repos, err := models.GetRepositoryByName(int64(sUserId), repoName) if err != nil { log.Error("runUpdate.GetRepositoryByName userId: %v", err) return } commits := make([]*base.PushCommit, 0) var maxCommits = 3 var actEmail string for e := l.Front(); e != nil; e = e.Next() { commit := e.Value.(*git.Commit) if actEmail == "" { actEmail = commit.Committer.Email } commits = append(commits, &base.PushCommit{commit.Id().String(), commit.Message(), commit.Author.Email, commit.Author.Name}) if len(commits) >= maxCommits { break } } //commits = append(commits, []string{lastCommit.Id().String(), lastCommit.Message()}) if err = models.CommitRepoAction(int64(sUserId), userName, actEmail, repos.Id, repoName, git.BranchName(refName), &base.PushCommits{l.Len(), commits}); err != nil { log.Error("runUpdate.models.CommitRepoAction: %v", err) } }