import "github.com/ubclaunchpad/inertia/daemon/inertiad/log"
Package log provides logging utilities
doc.go routine.go streamer.go writers.go
FlushRoutine continuously writes everything in given ReadCloser to an io.Writer. Use this as a goroutine.
WriteAndFlush reads from buffer, writes to writer, and flushes if possible
CloseOpts defines options for closing the logger
type MultiWriter struct {
// contains filtered or unexported fields
}
MultiWriter writes to list of writers without caring whether one fails, and flushes if writer is flushable
func (m *MultiWriter) Write(p []byte) (int, error)
type SocketWriter interface { WriteMessage(messageType int, bytes []byte) error CloseHandler() func(code int, text string) error }
SocketWriter is an interface for writing to websocket connections
Streamer is a multilogger used by the daemon to pipe output to multiple places depending on context.
func NewStreamer(opts StreamerOptions) *Streamer
NewStreamer creates a new streamer. It must be closed if a Socket is provided, and one of Error() or Success() should be called.
Close shuts down the logger
func (s *Streamer) Error(res *res.ErrResponse)
Error directs message and status to http.Error when appropriate
GetSocketWriter retrieves the socketwriter as an io.Writer
Println prints to logger's standard writer
func (s *Streamer) Success(res *res.MsgResponse)
Success directs status to Header and sets content type when appropriate
type StreamerOptions struct { Request *http.Request Stdout io.Writer Socket SocketWriter HTTPWriter http.ResponseWriter HTTPStream bool }
StreamerOptions defines configuration for a daemon streamer
type WebSocketWriter struct {
// contains filtered or unexported fields
}
WebSocketWriter wraps a SocketWriter in an io.Writer
func NewWebSocketTextWriter(socket SocketWriter) *WebSocketWriter
NewWebSocketTextWriter returns an io.Writer version of SocketWriter
func (w *WebSocketWriter) Close() error
Close closes the socket writer's websocket.
func (w *WebSocketWriter) Write(p []byte) (int, error)
Package log imports 8 packages (graph) and is imported by 3 packages. Updated 2020-03-17. Refresh now. Tools for package owners.