为什么不使用锁来同步日志包

I'm reading log source code,I'm confused in here:

// SetOutput sets the output destination for the standard logger.
func SetOutput(w io.Writer) {
    std.mu.Lock()
    defer std.mu.Unlock()
    std.out = w
}

// Flags returns the output flags for the standard logger.
func Flags() int {
    return std.Flags()
}

// SetFlags sets the output flags for the standard logger.
func SetFlags(flag int) {
    std.SetFlags(flag)
}

why SetOutPut use mu to lock but SetFlags don't use mu to lock?

SetOutput is altering the internal state of the std default Logger.

log.SetFlags is calling SetFlags on std, which already locks the logger itself.