21 lines
493 B
Go
21 lines
493 B
Go
|
package notifier
|
||
|
|
||
|
import (
|
||
|
"github.com/jouir/pgterminate/base"
|
||
|
)
|
||
|
|
||
|
// Notifier generic interface for implementing a notifier
|
||
|
type Notifier interface {
|
||
|
Run()
|
||
|
Reload()
|
||
|
}
|
||
|
|
||
|
// NewNotifier looks into Config to create a File or Console notifier and pass it
|
||
|
// the session channel for consuming sessions structs sent by terminator
|
||
|
func NewNotifier(ctx *base.Context) Notifier {
|
||
|
if ctx.Config.LogFile != "" {
|
||
|
return NewFile(ctx.Config.LogFile, ctx.Sessions)
|
||
|
}
|
||
|
return NewConsole(ctx.Sessions)
|
||
|
}
|