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
All 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?