const Ldate … const Ltime … const Lmicroseconds … const Llongfile … const Lshortfile … const LUTC … const Lmsgprefix … const LstdFlags … type Logger … // New creates a new [Logger]. The out variable sets the // destination to which log data will be written. // The prefix appears at the beginning of each generated log line, or // after the log header if the [Lmsgprefix] flag is provided. // The flag argument defines the logging properties. func New(out io.Writer, prefix string, flag int) *Logger { … } // SetOutput sets the output destination for the logger. func (l *Logger) SetOutput(w io.Writer) { … } var std … // Default returns the standard logger used by the package-level output functions. func Default() *Logger { … } // Cheap integer to fixed-width decimal ASCII. Give a negative width to avoid zero-padding. func itoa(buf *[]byte, i int, wid int) { … } // formatHeader writes log header to buf in following order: // - l.prefix (if it's not blank and Lmsgprefix is unset), // - date and/or time (if corresponding flags are provided), // - file and line number (if corresponding flags are provided), // - l.prefix (if it's not blank and Lmsgprefix is set). func formatHeader(buf *[]byte, t time.Time, prefix string, flag int, file string, line int) { … } var bufferPool … func getBuffer() *[]byte { … } func putBuffer(p *[]byte) { … } // Output writes the output for a logging event. The string s contains // the text to print after the prefix specified by the flags of the // Logger. A newline is appended if the last character of s is not // already a newline. Calldepth is used to recover the PC and is // provided for generality, although at the moment on all pre-defined // paths it will be 2. func (l *Logger) Output(calldepth int, s string) error { … } // output can take either a calldepth or a pc to get source line information. // It uses the pc if it is non-zero. func (l *Logger) output(pc uintptr, calldepth int, appendOutput func([]byte) []byte) error { … } func init() { … } // Print calls l.Output to print to the logger. // Arguments are handled in the manner of [fmt.Print]. func (l *Logger) Print(v ...any) { … } // Printf calls l.Output to print to the logger. // Arguments are handled in the manner of [fmt.Printf]. func (l *Logger) Printf(format string, v ...any) { … } // Println calls l.Output to print to the logger. // Arguments are handled in the manner of [fmt.Println]. func (l *Logger) Println(v ...any) { … } // Fatal is equivalent to l.Print() followed by a call to [os.Exit](1). func (l *Logger) Fatal(v ...any) { … } // Fatalf is equivalent to l.Printf() followed by a call to [os.Exit](1). func (l *Logger) Fatalf(format string, v ...any) { … } // Fatalln is equivalent to l.Println() followed by a call to [os.Exit](1). func (l *Logger) Fatalln(v ...any) { … } // Panic is equivalent to l.Print() followed by a call to panic(). func (l *Logger) Panic(v ...any) { … } // Panicf is equivalent to l.Printf() followed by a call to panic(). func (l *Logger) Panicf(format string, v ...any) { … } // Panicln is equivalent to l.Println() followed by a call to panic(). func (l *Logger) Panicln(v ...any) { … } // Flags returns the output flags for the logger. // The flag bits are [Ldate], [Ltime], and so on. func (l *Logger) Flags() int { … } // SetFlags sets the output flags for the logger. // The flag bits are [Ldate], [Ltime], and so on. func (l *Logger) SetFlags(flag int) { … } // Prefix returns the output prefix for the logger. func (l *Logger) Prefix() string { … } // SetPrefix sets the output prefix for the logger. func (l *Logger) SetPrefix(prefix string) { … } // Writer returns the output destination for the logger. func (l *Logger) Writer() io.Writer { … } // SetOutput sets the output destination for the standard logger. func SetOutput(w io.Writer) { … } // Flags returns the output flags for the standard logger. // The flag bits are [Ldate], [Ltime], and so on. func Flags() int { … } // SetFlags sets the output flags for the standard logger. // The flag bits are [Ldate], [Ltime], and so on. func SetFlags(flag int) { … } // Prefix returns the output prefix for the standard logger. func Prefix() string { … } // SetPrefix sets the output prefix for the standard logger. func SetPrefix(prefix string) { … } // Writer returns the output destination for the standard logger. func Writer() io.Writer { … } // Print calls Output to print to the standard logger. // Arguments are handled in the manner of [fmt.Print]. func Print(v ...any) { … } // Printf calls Output to print to the standard logger. // Arguments are handled in the manner of [fmt.Printf]. func Printf(format string, v ...any) { … } // Println calls Output to print to the standard logger. // Arguments are handled in the manner of [fmt.Println]. func Println(v ...any) { … } // Fatal is equivalent to [Print] followed by a call to [os.Exit](1). func Fatal(v ...any) { … } // Fatalf is equivalent to [Printf] followed by a call to [os.Exit](1). func Fatalf(format string, v ...any) { … } // Fatalln is equivalent to [Println] followed by a call to [os.Exit](1). func Fatalln(v ...any) { … } // Panic is equivalent to [Print] followed by a call to panic(). func Panic(v ...any) { … } // Panicf is equivalent to [Printf] followed by a call to panic(). func Panicf(format string, v ...any) { … } // Panicln is equivalent to [Println] followed by a call to panic(). func Panicln(v ...any) { … } // Output writes the output for a logging event. The string s contains // the text to print after the prefix specified by the flags of the // Logger. A newline is appended if the last character of s is not // already a newline. Calldepth is the count of the number of // frames to skip when computing the file name and line number // if [Llongfile] or [Lshortfile] is set; a value of 1 will print the details // for the caller of Output. func Output(calldepth int, s string) error { … }