20 lines
493 B
Go
20 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)
|
|
}
|