An O(1) constant time logging system that allows you to connect one log to multiple writers (e.g. stdout, a file and a TCP connection).
go get -u github.com/aerogo/log/...
hello := log.New() // Create a new log hello.AddWriter(log.File("hello.log")) // Add a writer hello.Info("Hello World %d %d %d", 1, 2, 3) // Write non-critical data (buffered) hello.Error("Something went wrong") // Force an immediate I/O flush for error messages
Under the hood
Write calls are queued into a channel that is read in a separate goroutine. Once the channel receives new data it writes the data to all registered outputs.
Please take a look at the style guidelines if you'd like to make a pull request.
|Cedric Fung||Scott Rayapoullé||Eduard Urbach|
Want to see your own name here?