Browse Source

refactor some start-stop logging

tags/v2.8.0-rc1
Shivaram Lingamneni 2 years ago
parent
commit
364193df4e
2 changed files with 20 additions and 18 deletions
  1. 0
    4
      ergo.go
  2. 20
    14
      irc/server.go

+ 0
- 4
ergo.go View File

@@ -192,10 +192,6 @@ Options:
192 192
 			logman.Error("server", fmt.Sprintf("Could not load server: %s", err.Error()))
193 193
 			os.Exit(1)
194 194
 		}
195
-		if !arguments["--quiet"].(bool) {
196
-			logman.Info("server", "Server running")
197
-			defer logman.Info("server", fmt.Sprintf("%s exiting", irc.Ver))
198
-		}
199 195
 		if !arguments["--smoke"].(bool) {
200 196
 			server.Run()
201 197
 		}

+ 20
- 14
irc/server.go View File

@@ -81,7 +81,7 @@ type Server struct {
81 81
 	rehashMutex       sync.Mutex // tier 4
82 82
 	rehashSignal      chan os.Signal
83 83
 	pprofServer       *http.Server
84
-	signals           chan os.Signal
84
+	exitSignals       chan os.Signal
85 85
 	snomasks          SnoManager
86 86
 	store             *buntdb.DB
87 87
 	historyDB         mysql.MySQL
@@ -100,7 +100,7 @@ func NewServer(config *Config, logger *logger.Manager) (*Server, error) {
100 100
 		listeners:    make(map[string]IRCListener),
101 101
 		logger:       logger,
102 102
 		rehashSignal: make(chan os.Signal, 1),
103
-		signals:      make(chan os.Signal, len(ServerExitSignals)),
103
+		exitSignals:  make(chan os.Signal, len(ServerExitSignals)),
104 104
 		defcon:       5,
105 105
 	}
106 106
 
@@ -115,7 +115,7 @@ func NewServer(config *Config, logger *logger.Manager) (*Server, error) {
115 115
 	}
116 116
 
117 117
 	// Attempt to clean up when receiving these signals.
118
-	signal.Notify(server.signals, ServerExitSignals...)
118
+	signal.Notify(server.exitSignals, ServerExitSignals...)
119 119
 	signal.Notify(server.rehashSignal, syscall.SIGHUP)
120 120
 
121 121
 	time.AfterFunc(alwaysOnExpirationPollPeriod, server.handleAlwaysOnExpirations)
@@ -126,6 +126,7 @@ func NewServer(config *Config, logger *logger.Manager) (*Server, error) {
126 126
 // Shutdown shuts down the server.
127 127
 func (server *Server) Shutdown() {
128 128
 	sdnotify.Stopping()
129
+	server.logger.Info("server", "Stopping server")
129 130
 
130 131
 	//TODO(dan): Make sure we disallow new nicks
131 132
 	for _, client := range server.clients.AllClients() {
@@ -140,19 +141,17 @@ func (server *Server) Shutdown() {
140 141
 	}
141 142
 
142 143
 	server.historyDB.Close()
144
+	server.logger.Info("server", fmt.Sprintf("%s exiting", Ver))
143 145
 }
144 146
 
145 147
 // Run starts the server.
146 148
 func (server *Server) Run() {
147
-	// defer closing db/store
148
-	defer server.store.Close()
149
+	defer server.Shutdown()
149 150
 
150 151
 	for {
151 152
 		select {
152
-		case <-server.signals:
153
-			server.Shutdown()
153
+		case <-server.exitSignals:
154 154
 			return
155
-
156 155
 		case <-server.rehashSignal:
157 156
 			server.logger.Info("server", "Rehashing due to SIGHUP")
158 157
 			go server.rehash()
@@ -714,14 +713,16 @@ func (server *Server) applyConfig(config *Config) (err error) {
714 713
 		server.logger.Info("server", "Proxied IPs will be accepted from", strings.Join(config.Server.ProxyAllowedFrom, ", "))
715 714
 	}
716 715
 
716
+	// we are now ready to receive connections:
717 717
 	err = server.setupListeners(config)
718
-	// send other config warnings
719
-	if config.Accounts.RequireSasl.Enabled && config.Accounts.Registration.Enabled {
720
-		server.logger.Warning("server", "Warning: although require-sasl is enabled, users can still register accounts. If your server is not intended to be public, you must set accounts.registration.enabled to false.")
721
-	}
722 718
 
723
-	// we are now open for business
724
-	sdnotify.Ready()
719
+	if err == nil {
720
+		// we are now open for business
721
+		if initial {
722
+			server.logger.Info("server", "Server running")
723
+		}
724
+		sdnotify.Ready()
725
+	}
725 726
 
726 727
 	if !initial {
727 728
 		// push new info to all of our clients
@@ -736,6 +737,11 @@ func (server *Server) applyConfig(config *Config) (err error) {
736 737
 		}
737 738
 	}
738 739
 
740
+	// send other config warnings
741
+	if config.Accounts.RequireSasl.Enabled && config.Accounts.Registration.Enabled {
742
+		server.logger.Warning("server", "Warning: although require-sasl is enabled, users can still register accounts. If your server is not intended to be public, you must set accounts.registration.enabled to false.")
743
+	}
744
+
739 745
 	return err
740 746
 }
741 747
 

Loading…
Cancel
Save