Skip to content

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 وغيرها.

Golang تم تحريره بواسطة www.golangdev.cn