package syslog

import (
	"log"

	"github.com/RackSec/srslog"
)

var logger *srslog.Writer

func init() {
	var err error

	logger, err = srslog.Dial("", "", srslog.LOG_ERR, "openpdu")

	// w, err := syslog.Dial("udp", "192.168.0.50:514", syslog.LOG_ERR, "openpdu")

	if err != nil {
		log.Fatal("failed to connect to syslog:", err)
	}

}

func Alert(msg string) {
	if logger == nil {
		log.Printf(msg)
	} else {
		logger.Alert(msg)
	}
}

func Crit(msg string) {
	if logger == nil {
		log.Printf(msg)
	} else {
		logger.Crit(msg)
	}
}

func Err(msg string) {
	if logger == nil {
		log.Printf(msg)
	} else {
		logger.Err(msg)
	}
}

func Warning(msg string) {
	if logger == nil {
		log.Printf(msg)
	} else {
		logger.Warning(msg)
	}
}

func Notice(msg string) {
	if logger == nil {
		log.Printf(msg)
	} else {
		logger.Notice(msg)
	}
}

func Info(msg string) {
	if logger == nil {
		log.Printf(msg)
	} else {
		logger.Info(msg)
	}
}

func Debug(msg string) {
	if logger == nil {
		log.Printf(msg)
	}
	logger.Debug(msg)
}
