Changeset 747 in code for trunk/server.go


Ignore:
Timestamp:
Dec 6, 2021, 5:35:49 PM (4 years ago)
Author:
contact
Message:

Add Logger.Debugf

Makes it easy to print debugging messages which aren't targeted at
the user. See [1] for motivation.

[1]: https://dave.cheney.net/2015/11/05/lets-talk-about-logging

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/server.go

    r746 r747  
    3939type Logger interface {
    4040        Printf(format string, v ...interface{})
     41        Debugf(format string, v ...interface{})
     42}
     43
     44type logger struct {
     45        *log.Logger
     46        debug bool
     47}
     48
     49func (l logger) Debugf(format string, v ...interface{}) {
     50        if !l.debug {
     51                return
     52        }
     53        l.Logger.Printf(format, v...)
     54}
     55
     56func NewLogger(out io.Writer, debug bool) Logger {
     57        return logger{
     58                Logger: log.New(log.Writer(), "", log.LstdFlags),
     59                debug:  debug,
     60        }
    4161}
    4262
     
    5171        v = append([]interface{}{l.prefix}, v...)
    5272        l.logger.Printf("%v"+format, v...)
     73}
     74
     75func (l *prefixLogger) Debugf(format string, v ...interface{}) {
     76        v = append([]interface{}{l.prefix}, v...)
     77        l.logger.Debugf("%v"+format, v...)
    5378}
    5479
     
    7398        Title           string
    7499        LogPath         string
    75         Debug           bool
    76100        HTTPOrigins     []string
    77101        AcceptProxyIPs  config.IPSet
     
    110134func NewServer(db Database) *Server {
    111135        srv := &Server{
    112                 Logger:    log.New(log.Writer(), "", log.LstdFlags),
     136                Logger:    NewLogger(log.Writer(), true),
    113137                db:        db,
    114138                listeners: make(map[net.Listener]struct{}),
Note: See TracChangeset for help on using the changeset viewer.