Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "log"
- "os"
- "strings"
- "sync"
- "github.com/kiwiirc/webircgateway/pkg/webircgateway"
- )
- var errLog *log.Logger
- func Start(gateway *webircgateway.Gateway, pluginsQuit *sync.WaitGroup) {
- gateway.Log(1, "IRC Error Logger plugin %s", webircgateway.Version)
- logFile, err := os.OpenFile("error.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
- if err != nil {
- gateway.Log(3, "Unable to open log file for IRC Error logs: %s", err)
- return
- }
- errLog = log.New(logFile, "", log.LstdFlags)
- webircgateway.HookRegister("irc.line", hookIrcLine)
- pluginsQuit.Done()
- }
- func hookIrcLine(hook *webircgateway.HookIrcLine) {
- if hook.Message.Command == "NOTICE" {
- if hook.Message.Params[0] != hook.Client.IrcState.Nick {
- return
- }
- line := strings.ToLower(hook.Line)
- if strings.Contains(line, "error") {
- errLog.Printf("%v %v", hook.UpstreamConfig.Hostname, hook.Line)
- }
- } else if hook.Message.Command == "ERROR" {
- errLog.Printf("%v %v", hook.UpstreamConfig.Hostname, hook.Line)
- }
- }
Add Comment
Please, Sign In to add comment