Changeset 493 in code for trunk


Ignore:
Timestamp:
Apr 13, 2021, 11:04:23 AM (4 years ago)
Author:
contact
Message:

Introduce per-user logger

Adds the username to log lines.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/user.go

    r489 r493  
    174174                if dur := time.Now().Sub(lastTry); dur < retryConnectDelay {
    175175                        delay := retryConnectDelay - dur
    176                         net.user.srv.Logger.Printf("waiting %v before trying to reconnect to %q", delay.Truncate(time.Second), net.Addr)
     176                        net.user.logger.Printf("waiting %v before trying to reconnect to %q", delay.Truncate(time.Second), net.Addr)
    177177                        time.Sleep(delay)
    178178                }
     
    181181                uc, err := connectToUpstream(net)
    182182                if err != nil {
    183                         net.user.srv.Logger.Printf("failed to connect to upstream server %q: %v", net.Addr, err)
     183                        net.user.logger.Printf("failed to connect to upstream server %q: %v", net.Addr, err)
    184184                        net.user.events <- eventUpstreamConnectionError{net, fmt.Errorf("failed to connect: %v", err)}
    185185                        continue
     
    234234        }
    235235        ch.Detached = true
    236         net.user.srv.Logger.Printf("network %q: detaching channel %q", net.GetName(), ch.Name)
     236        net.user.logger.Printf("network %q: detaching channel %q", net.GetName(), ch.Name)
    237237
    238238        if net.conn != nil {
     
    257257        }
    258258        ch.Detached = false
    259         net.user.srv.Logger.Printf("network %q: attaching channel %q", net.GetName(), ch.Name)
     259        net.user.logger.Printf("network %q: attaching channel %q", net.GetName(), ch.Name)
    260260
    261261        var uch *upstreamChannel
     
    331331
    332332        if err := net.user.srv.db.StoreClientDeliveryReceipts(net.ID, clientName, receipts); err != nil {
    333                 net.user.srv.Logger.Printf("failed to store delivery receipts for user %q, client %q, network %q: %v", net.user.Username, clientName, net.GetName(), err)
     333                net.user.logger.Printf("failed to store delivery receipts for user %q, client %q, network %q: %v", net.user.Username, clientName, net.GetName(), err)
    334334        }
    335335}
     
    337337type user struct {
    338338        User
    339         srv *Server
     339        srv    *Server
     340        logger Logger
    340341
    341342        events chan event
     
    357358
    358359func newUser(srv *Server, record *User) *user {
     360        logger := &prefixLogger{srv.Logger, fmt.Sprintf("user %q: ", record.Username)}
     361
    359362        var msgStore messageStore
    360363        if srv.LogPath != "" {
     
    367370                User:     *record,
    368371                srv:      srv,
     372                logger:   logger,
    369373                events:   make(chan event, 64),
    370374                done:     make(chan struct{}),
     
    419423                if u.msgStore != nil {
    420424                        if err := u.msgStore.Close(); err != nil {
    421                                 u.srv.Logger.Printf("failed to close message store for user %q: %v", u.Username, err)
     425                                u.logger.Printf("failed to close message store for user %q: %v", u.Username, err)
    422426                        }
    423427                }
     
    427431        networks, err := u.srv.db.ListNetworks(u.ID)
    428432        if err != nil {
    429                 u.srv.Logger.Printf("failed to list networks for user %q: %v", u.Username, err)
     433                u.logger.Printf("failed to list networks for user %q: %v", u.Username, err)
    430434                return
    431435        }
     
    435439                channels, err := u.srv.db.ListChannels(record.ID)
    436440                if err != nil {
    437                         u.srv.Logger.Printf("failed to list channels for user %q, network %q: %v", u.Username, record.GetName(), err)
     441                        u.logger.Printf("failed to list channels for user %q, network %q: %v", u.Username, record.GetName(), err)
    438442                        continue
    439443                }
     
    445449                        receipts, err := u.srv.db.ListDeliveryReceipts(record.ID)
    446450                        if err != nil {
    447                                 u.srv.Logger.Printf("failed to load delivery receipts for user %q, network %q: %v", u.Username, network.GetName(), err)
     451                                u.logger.Printf("failed to load delivery receipts for user %q, network %q: %v", u.Username, network.GetName(), err)
    448452                                return
    449453                        }
     
    515519                        uc.network.detach(c)
    516520                        if err := uc.srv.db.StoreChannel(uc.network.ID, c); err != nil {
    517                                 u.srv.Logger.Printf("failed to store updated detached channel %q: %v", c.Name, err)
     521                                u.logger.Printf("failed to store updated detached channel %q: %v", c.Name, err)
    518522                        }
    519523                case eventDownstreamConnected:
     
    580584                        return
    581585                default:
    582                         u.srv.Logger.Printf("received unknown event type: %T", e)
     586                        u.logger.Printf("received unknown event type: %T", e)
    583587                }
    584588        }
Note: See TracChangeset for help on using the changeset viewer.