log
Gói log trong thư viện chuẩn Go thực hiện logging đơn giản.
go
func main() {
log.Println("log")
log.Panicln("log panic")
log.Fatalln("log lỗi")
}Fatal sẽ gọi os.exit(1) sau khi ghi thông tin log, panic sẽ ném ra panic
Prefix
go
func (l *Logger) Prefix() string //Lấy prefix
func (l *Logger) SetPrefix(prefix string) //Đặt prefixVí dụ
go
func main() {
log.SetPrefix("[main]")
log.Println("log")
log.Panicln("log panic")
}Flag
Phương thức
go
func (l *Logger) Flags() int //Truy cập
func (l *Logger) SetFlags(flag int) //ĐặtHằng số
go
const (
Ldate = 1 << iota // Ngày
Ltime // Thời gian
Lmicroseconds // Micro giây
Llongfile // Tên tệp đầy đủ
Lshortfile // Tên tệp ngắn
LUTC // Múi giờ
Lmsgprefix // Prefix
LstdFlags = Ldate | Ltime // Giá trị ban đầu
)Ví dụ
go
func main() {
log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
log.Println("log")
log.Panicln("log panic")
}Tất nhiên cũng có thể sử dụng log.SetOutput(w io.Writer) để đặt đường dẫn xuất log, cũng có thể tạo instance của riêng mình thông qua phương thức New.
go
func New(out io.Writer, prefix string, flag int) *LoggerTóm lại, gói log trong thư viện chuẩn cung cấp chức năng chưa đầy đủ, chúng ta thường sử dụng các gói log bên thứ ba hoàn thiện hơn, ví dụ zap v.v.
