123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package log
- import (
- "io"
- )
- //Handler writes logs to somewhere
- type Handler interface {
- Write(p []byte) (n int, err error)
- Close() error
- }
- // StreamHandler writes logs to a specified io Writer, maybe stdout, stderr, etc...
- type StreamHandler struct {
- w io.Writer
- }
- // NewStreamHandler creates a StreamHandler
- func NewStreamHandler(w io.Writer) (*StreamHandler, error) {
- h := new(StreamHandler)
- h.w = w
- return h, nil
- }
- // Write implements Handler interface
- func (h *StreamHandler) Write(b []byte) (n int, err error) {
- return h.w.Write(b)
- }
- // Close implements Handler interface
- func (h *StreamHandler) Close() error {
- return nil
- }
- // NullHandler does nothing, it discards anything.
- type NullHandler struct {
- }
- // NewNullHandler creates a NullHandler
- func NewNullHandler() (*NullHandler, error) {
- return new(NullHandler), nil
- }
- // // Write implements Handler interface
- func (h *NullHandler) Write(b []byte) (n int, err error) {
- return len(b), nil
- }
- // Close implements Handler interface
- func (h *NullHandler) Close() error {
- return nil
- }
|