You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: static_proxy.go
    path of file: ./repos/go-design-pattern/05_proxy
    
    the code of the file until where you have to start completion: package proxy

import (
	"log"
	"time"
)

// IUser IUser
type IUser interface {
	Login(username, password s
    
func (p *UserProxy) Login(username, password string) error {
	// before 这里可能会有一些统计的逻辑
	start := time.Now()

	// 这里是原有的业务逻辑
	if err := p.user.Login(username, password); err != nil {
		return err
	}

	// after 这里可能也有一些监控统计的逻辑
	log.Printf("user login cost time: %s", time.Now().Sub(start))

	return nil
}