Documentation ¶
Overview ¶
Package logger is the central log repository for gopher2600. There is a single log for the entire application and can be accessed through the package level functions.
New log entries are made with the package level Log() and Logf() functions. Both these functions require an implementation of the Permission interface. This interface tests whether the environment making the logging request is allowed to make new log entries.
The environment.Environment type satisfies the Permission interface. If it's not convenient to provide an instance of that type then logging.Allow can be used to provide blanket permission to the caller.
The Colorizer type can be used with SetEcho() to output a simply coloured log entries (using ANSI control codes).
The logger package should not be used inside any init() function.
Index ¶
- func BorrowLog(f func([]Entry))
- func Clear()
- func Log(perm Permission, tag, detail string)
- func Logf(perm Permission, tag, detail string, args ...interface{})
- func SetEcho(output io.Writer, writeRecent bool)
- func Tail(output io.Writer, number int)
- func Write(output io.Writer)
- func WriteRecent(output io.Writer)
- type Entry
- type Permission
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BorrowLog ¶ added in v0.16.0
func BorrowLog(f func([]Entry))
BorrowLog gives the provided function the critial section and access to the list of log entries.
func Logf ¶ added in v0.10.1
func Logf(perm Permission, tag, detail string, args ...interface{})
Logf adds a formatted entry to the central logger
func WriteRecent ¶ added in v0.7.1
WriteRecent returns only the entries added since the last call to CopyRecent.
Types ¶
type Permission ¶ added in v0.31.0
type Permission interface {
AllowLogging() bool
}
Permission implementatins indicate whether the environment making a log request is allowed to create new log entries
var Allow Permission = allow{}
Allow indicates that the logging request should be allowed