main.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package main
  2. import (
  3. "log"
  4. "os"
  5. "path"
  6. )
  7. var (
  8. CFG *Config
  9. LOG *log.Logger
  10. USERS *UserManager
  11. )
  12. func init() {
  13. // First and most important step, get logging working
  14. if !Exists("logs") {
  15. err := os.Mkdir("logs", os.ModeDir)
  16. if err != nil {
  17. panic("init >> mkdir logs >> " + err.Error())
  18. }
  19. }
  20. // Establish connection to main Log file ('logs/lunar_hub.log')
  21. log_path := path.Join("logs", "lunar_hub.log")
  22. f, err := os.OpenFile(log_path, os.O_CREATE|os.O_APPEND|os.O_RDWR|os.O_SYNC, 0666)
  23. if err != nil {
  24. panic("init >> opening main log ('" + log_path + "') >> " + err.Error())
  25. }
  26. LOG = log.New(f, "", log.Ldate|log.Ltime|log.Lshortfile)
  27. // Now to setup data, and other directories
  28. if !Exists("data") {
  29. err := os.Mkdir("data", os.ModeDir)
  30. if err != nil {
  31. panic("init >> mkdir data >> " + err.Error())
  32. }
  33. }
  34. if !Exists("msgs") {
  35. err := os.Mkdir("msgs", os.ModeDir)
  36. if err != nil {
  37. panic("init >> mkdir msgs >> " + err.Error())
  38. }
  39. }
  40. if !Exists("files") {
  41. err := os.Mkdir("files", os.ModeDir)
  42. if err != nil {
  43. panic("init >> mkdir files >> " + err.Error())
  44. }
  45. }
  46. // Initialize Config
  47. CFG = LoadConfig()
  48. }
  49. func main() {
  50. Print("Lunar Hub - Startup")
  51. var err error
  52. USERS, err = NewUserManager()
  53. if err != nil {
  54. LOG.Fatalln("User Manager >>", err)
  55. }
  56. }