# ლოგირება {#logging}

CLI იყენებს [swift-log](https://github.com/apple/swift-log) ინტერფეისს ლოგირებისთვის. პაკეტი აბსტრაქციას უკეთებს ლოგირების რეალიზაციის დეტალებს, რაც CLI-ს საშუალებას აძლევს იყოს დამოუკიდებელი ლოგირების ბექენდისგან. ლოგერი ინჟექტირდება დამოკიდებულების სახით task locals-ის გამოყენებით და მისი წვდომა ნებისმიერი ადგილიდან შესაძლებელია შემდეგი გზით:

```bash
Logger.current
```

> [!NOTE]
> Task locals არ ავრცელებს მნიშვნელობას `Dispatch`-ის ან detached tasks-ის გამოყენებისას, ამიტომ თუ მათ იყენებთ, მოგიწევთ მისი მიღება და ასინქრონულ ოპერაციაში გადაცემა.


## რა უნდა ჩაიწეროს ლოგში {#what-to-log}

ლოგები არ არის CLI-ს მომხმარებლის ინტერფეისი. ისინი არის ინსტრუმენტი პრობლემების დიაგნოსტიკისთვის, როდესაც ისინი ჩნდება. შესაბამისად, რაც უფრო მეტ ინფორმაციას მოგვაწვდით, მით უკეთესი. ახალი ფუნქციების შექმნისას ჩაუდექით იმ დეველოპერის ადგილას, რომელიც შეეჯახება მოულოდნელ ქცევას, და იფიქრეთ, თუ რა ინფორმაცია იქნებოდა მისთვის სასარგებლო. დარწმუნდით, რომ იყენებთ სწორ [ლოგირების დონეს](https://www.swift.org/documentation/server/guides/libraries/log-levels.html). წინააღმდეგ შემთხვევაში, დეველოპერებს ვერ შეძლებენ ხმაურის გაფილტვრას.
