log
O pacote log da biblioteca padrão da linguagem Go implementa logs simples.
go
func main() {
log.Println("Log")
log.Panicln("Log de panic")
log.Fatalln("Log de erro")
}Fatal chamará os.exit(1) após gravar a informação de log, enquanto panic lançará um panic.
Prefixo
go
func (l *Logger) Prefix() string // Obter prefixo
func (l *Logger) SetPrefix(prefix string) // Definir prefixoExemplo:
go
func main() {
log.SetPrefix("[main]")
log.Println("Log")
log.Panicln("Log de panic")
}Flag
Métodos:
go
func (l *Logger) Flags() int // Acessar
func (l *Logger) SetFlags(flag int) // DefinirConstantes:
go
const (
Ldate = 1 << iota // Data
Ltime // Hora
Lmicroseconds // Microssegundos
Llongfile // Nome completo do arquivo
Lshortfile // Nome curto do arquivo
LUTC // Fuso horário
Lmsgprefix // Prefixo
LstdFlags = Ldate | Ltime // Valor inicial
)Exemplo:
go
func main() {
log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
log.Println("Log")
log.Panicln("Log de panic")
}Claro, também é possível usar log.SetOutput(w io.Writer) para definir o caminho de saída do log, ou criar sua própria instância através do método New.
go
func New(out io.Writer, prefix string, flag int) *LoggerEm resumo, o pacote log da biblioteca padrão não fornece funcionalidades completas o suficiente. Normalmente usamos pacotes de log de terceiros mais completos, como zap, etc.
