init.go 797 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package common
  2. import (
  3. "flag"
  4. "fmt"
  5. "log"
  6. "os"
  7. "path/filepath"
  8. )
  9. var (
  10. Port = flag.Int("port", 3000, "the listening port")
  11. PrintVersion = flag.Bool("version", false, "print version and exit")
  12. LogDir = flag.String("log-dir", "", "specify the log directory")
  13. )
  14. func init() {
  15. flag.Parse()
  16. if *PrintVersion {
  17. fmt.Println(Version)
  18. os.Exit(0)
  19. }
  20. if os.Getenv("SESSION_SECRET") != "" {
  21. SessionSecret = os.Getenv("SESSION_SECRET")
  22. }
  23. if os.Getenv("SQLITE_PATH") != "" {
  24. SQLitePath = os.Getenv("SQLITE_PATH")
  25. }
  26. if *LogDir != "" {
  27. var err error
  28. *LogDir, err = filepath.Abs(*LogDir)
  29. if err != nil {
  30. log.Fatal(err)
  31. }
  32. if _, err := os.Stat(*LogDir); os.IsNotExist(err) {
  33. err = os.Mkdir(*LogDir, 0777)
  34. if err != nil {
  35. log.Fatal(err)
  36. }
  37. }
  38. }
  39. }