تنظیم لاگها
شما میتوانید با استفاده از ماژولها و روشهای متفاوتی، لاگهای منحصر به فرد خود را در برنامه go ایجاد کنید که طبق مستندات گزارشات نرمافزاری، در دسترس شما قرار میگیرد و میتوانید در هر قسمتی از پردازش برنامه، آنها را ببینید. در ادامه، چند تا از معروفترین روشهای تنظیم لاگ در go، برای شما قرار گرفته است:
ماژول log
کتابخانه log برای درج لاگهای ساده مناسب است؛ در ادامه، مثالی از استفاده این ماژول، قرار گرفته است:
package main
import (
"log"
)
func main() {
// set flags
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
// display logs
log.Println("this is a log")
log.Printf("Log with a variable: %d", 123)
}
برای لاگگیری پیشرفتهتر، میتوانید از کتابخانههایی مثل logrus یا zap استفاده کنید.
ماژول logrus
برای تنظیم لاگها با استفاده از این ماژول، در ابتدا باید با اجرای دستور زیر، آن را در پروژه خود، نصب کنید:
go get -u github.com/sirupsen/logrus
در نهایت، میتوانید مشابه قطعه کد زیر، لاگهای خود را تنظیم کنید:
package main
import (
"github.com/sirupsen/logrus"
)
func main() {
log := logrus.New()
// set format
log.SetFormatter(&logrus.TextFormatter{})
// set logs on termianl
log.SetOutput(os.Stdout)
// display logs
log.Info("this is info")
log.Warn("this is warning")
log.Error("this is error")
}
ماژول zap
برای تنظیم لاگها با استفاده از این ماژول، در ابتدا باید با اجرای دستور زیر، آن را در پروژه خود، نصب کنید:
go get -u go.uber.org/zap
در ادامه، میتوانید مشابه قطعه کد زیر، لاگهای خود را تنظیم کنید:
package main
import (
"go.uber.org/zap"
)
func main() {
// set logger to development
logger, _ := zap.NewDevelopment()
defer logger.Sync()
// send logs to terminal
logger.Info("this is info",
zap.String("type", "example"),
zap.Int("amount", 3),
)
logger.Error("this is error")
}
البته در نظر داشته باشید که قطعه کدهای فوق، صرفاً چندتا از راههای تنظیم لاگ است و شما میتوانید از روشهای دیگری نیز، استفاده کنید!