Add logging control

This commit is contained in:
Julien Riou 2018-06-24 17:49:48 +02:00
parent 96ade1c1d7
commit f0d3cd5bdf
No known key found for this signature in database
GPG key ID: BA3E15176E45E85D
9 changed files with 164 additions and 24 deletions

View file

@ -2,7 +2,7 @@ package terminator
import (
"github.com/jouir/pgterminate/base"
"log"
"github.com/jouir/pgterminate/log"
"time"
)
@ -26,8 +26,9 @@ func NewTerminator(ctx *base.Context) *Terminator {
// Run starts the Terminator
func (t *Terminator) Run() {
log.Info("Starting terminator")
t.db = base.NewDb(t.config.Dsn())
log.Println("Connecting to instance")
log.Info("Connecting to instance")
t.db.Connect()
defer t.terminate()
@ -39,12 +40,12 @@ func (t *Terminator) Run() {
sessions := t.db.Sessions()
if t.config.ActiveTimeout != 0 {
actives := activeSessions(sessions, t.config.ActiveTimeout)
go t.terminateAndNotify(actives)
t.terminateAndNotify(actives)
}
if t.config.IdleTimeout != 0 {
idles := idleSessions(sessions, t.config.IdleTimeout)
go t.terminateAndNotify(idles)
t.terminateAndNotify(idles)
}
time.Sleep(time.Duration(t.config.Interval*1000) * time.Millisecond)
}
@ -62,7 +63,7 @@ func (t *Terminator) terminateAndNotify(sessions []base.Session) {
// terminate terminates gracefully
func (t *Terminator) terminate() {
log.Println("Disconnecting from instance")
log.Info("Disconnecting from instance")
t.db.Disconnect()
}