log
حزمة log في المكتبة القياسية للغة Go تنفذ سجلات بسيطة.
go
func main() {
log.Println("سجل")
log.Panicln("سجل panic")
log.Fatalln("سجل خطأ")
}سوف يستدعي Fatal الدالة os.exit(1) بعد كتابة معلومات السجل، بينما سيرفع panic الدالة panic
البادئة
go
func (l *Logger) Prefix() string // الحصول على البادئة
func (l *Logger) SetPrefix(prefix string) // تعيين البادئةمثال
go
func main() {
log.SetPrefix("[main]")
log.Println("سجل")
log.Panicln("سجل panic")
}Flag
الطرق
go
func (l *Logger) Flags() int // الوصول
func (l *Logger) SetFlags(flag int) // التعيينالثوابت
go
const (
Ldate = 1 << iota // التاريخ
Ltime // الوقت
Lmicroseconds // الميكروثانية
Llongfile // اسم الملف الكامل
Lshortfile // اسم الملف المختصر
LUTC // المنطقة الزمنية
Lmsgprefix // البادئة
LstdFlags = Ldate | Ltime // القيمة الابتدائية
)مثال
go
func main() {
log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
log.Println("سجل")
log.Panicln("سجل panic")
}بالطبع يمكن أيضاً استخدام log.SetOutput(w io.Writer) لتعيين مسار إخراج السجل، ويمكن أيضاً إنشاء مثيلك الخاص من خلال طريقة New.
go
func New(out io.Writer, prefix string, flag int) *Loggerباختصار، حزمة log في المكتبة القياسية لا توفر وظائف كافية، وعادة ما نستخدم حزم سجلات خارجية أكثر اكتمالاً، مثل zap وغيرها.
