Примеры
Примеры типичных задач. Код полный — импорт, создание Logger и обработка ошибок.
Info и SetLevel
Пишет запись уровня info.
Меняет уровень на лету. Возвращает false для неизвестного уровня.
package main
import (
"context"
"fmt"
"log"
"github.com/basalttrail/basalttrail"
)
func main() {
ctx := context.Background()
l, err := basalttrail.New(basalttrail.Options{
AddCaller: false,
})
if err != nil {
log.Fatal(err)
}
defer l.Close()
if err := l.Info(ctx, "сервер запущен"); err != nil {
log.Fatal(err)
}
ok, err := l.SetLevel(ctx, "debug")
if err != nil {
log.Fatal(err)
}
fmt.Println(ok)
}
Sync и Error
Сбрасывает буферизованные записи.
Пишет запись уровня error.
package main
import (
"context"
"fmt"
"log"
"github.com/basalttrail/basalttrail"
)
func main() {
ctx := context.Background()
l, err := basalttrail.New(basalttrail.Options{
Level: "info",
SampleFirst: 100,
})
if err != nil {
log.Fatal(err)
}
defer l.Close()
if err := l.Sync(ctx); err != nil {
log.Fatal(err)
}
if err := l.Error(ctx, "платёж не прошёл"); err != nil {
log.Fatal(err)
}
}