package logger import ( "io" "log" "sync/atomic" ) // LogSystem is implemented by log output devices. // All methods can be called concurrently from multiple goroutines. type LogSystem interface { LogPrint(LogMsg) } // NewStdLogSystem creates a LogSystem that prints to the given writer. // The flag values are defined package log. func NewStdLogSystem(writer io.Writer, flags int, level LogLevel) *StdLogSystem { logger := log.New(writer, "", flags) return &StdLogSystem{logger, uint32(level)} } type StdLogSystem struct { logger *log.Logger level uint32 } func (t *StdLogSystem) LogPrint(msg LogMsg) { stdmsg, ok := msg.(stdMsg) if ok { if t.GetLogLevel() >= stdmsg.Level() { t.logger.Print(stdmsg.String()) } } } func (t *StdLogSystem) SetLogLevel(i LogLevel) { atomic.StoreUint32(&t.level, uint32(i)) } func (t *StdLogSystem) GetLogLevel() LogLevel { return LogLevel(atomic.LoadUint32(&t.level)) } // NewJSONLogSystem creates a LogSystem that prints to the given writer without // adding extra information irrespective of loglevel only if message is JSON type func NewJsonLogSystem(writer io.Writer) LogSystem { logger := log.New(writer, "", 0) return &jsonLogSystem{logger} } type jsonLogSystem struct { logger *log.Logger } func (t *jsonLogSystem) LogPrint(msg LogMsg) { jsonmsg, ok := msg.(jsonMsg) if ok { t.logger.Print(jsonmsg.String()) } } FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)
aboutsummaryrefslogtreecommitdiffstats
path: root/emulators/rtc
Commit message (Expand)AuthorAgeFilesLines
* - Replace Mk/bsd.linux-apps.mk and Mk/bsd.linux-rpm.mk withtijl2016-09-061-2/+1
* Remove trailing whitespace from Makefiles, A-L.olgeni2015-10-081-1/+1
* Cleanup plistantoine2014-11-131-1/+0
* - Allow staging as a regular userantoine2014-09-132-5/+1
* - Add stage supportrene2013-11-091-8/+5
* Convert to USES=kmodrene2013-11-042-14/+3
* Add NO_STAGE all over the place in preparation for the staging support (cat: ...bapt2013-09-211-0/+1
* SSP support has been added to ports with WITH_SSP for i386 and amd64bdrewery2013-09-201-5/+2
* - re-order, include bsd.port.pre.mk so SRC_BASE is defined before referencedjgh2012-05-221-2/+2
* Fix building for OSVERSION >= 900044.bsam2011-09-191-0/+8
* Unify maintainer address for emulation ports.ehaupt2011-03-071-1/+1
* Add ports with kernel modules to 'kld' virtual category.bland2009-08-26