From 354da79bb2edaa1af7d909d2774e7d67eb4e198c Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 23 Jan 2018 18:17:51 +0100 Subject: Add vendor --- vendor/github.com/fluffle/goirc/logging/logging.go | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 vendor/github.com/fluffle/goirc/logging/logging.go (limited to 'vendor/github.com/fluffle/goirc/logging/logging.go') diff --git a/vendor/github.com/fluffle/goirc/logging/logging.go b/vendor/github.com/fluffle/goirc/logging/logging.go new file mode 100644 index 0000000..bd54416 --- /dev/null +++ b/vendor/github.com/fluffle/goirc/logging/logging.go @@ -0,0 +1,43 @@ +package logging + +// The IRC client will log things using these methods +type Logger interface { + // Debug logging of raw socket comms to/from server. + Debug(format string, args ...interface{}) + // Informational logging about client behaviour. + Info(format string, args ...interface{}) + // Warnings of inconsistent or unexpected data, mostly + // related to state tracking of IRC nicks/chans. + Warn(format string, args ...interface{}) + // Errors, mostly to do with network communication. + Error(format string, args ...interface{}) +} + +// By default we do no logging. Logging is enabled or disabled +// at the package level, since I'm lazy and re-re-reorganising +// my code to pass a per-client-struct Logger around to all the +// state objects is a pain in the arse. +var logger Logger = nullLogger{} + +// SetLogger sets the internal goirc Logger to l. If l is nil, +// a dummy logger that does nothing is installed instead. +func SetLogger(l Logger) { + if l == nil { + logger = nullLogger{} + } else { + logger = l + } +} + +// A nullLogger does nothing while fulfilling Logger. +type nullLogger struct{} +func (nl nullLogger) Debug(f string, a ...interface{}) {} +func (nl nullLogger) Info(f string, a ...interface{}) {} +func (nl nullLogger) Warn(f string, a ...interface{}) {} +func (nl nullLogger) Error(f string, a ...interface{}) {} + +// Shim functions so that the package can be used directly +func Debug(f string, a ...interface{}) { logger.Debug(f, a...) } +func Info(f string, a ...interface{}) { logger.Info(f, a...) } +func Warn(f string, a ...interface{}) { logger.Warn(f, a...) } +func Error(f string, a ...interface{}) { logger.Error(f, a...) } -- cgit v1.2.3