# التسجيل

🤗 يحتوي Transformers على نظام تسجيل مركزي، مما يتيح لك ضبط مستوى تفصيل مكتبة Transformers بسهولة.

حاليًا، مستوى التفصيل الافتراضي للمكتبة هو `WARNING`.

لتغيير مستوى التفصيل، استخدم أحد الإعدادات المباشرة. على سبيل المثال، إليك كيفية تغيير مستوى التفصيل إلى مستوى INFO.

```python
import transformers

transformers.logging.set_verbosity_info()
```

يمكنك أيضًا استخدام متغير البيئة `TRANSFORMERS_VERBOSITY` لتجاوز مستوى التفصيل الافتراضي. يمكنك ضبطه على أحد القيم التالية: `debug`، `info`، `warning`، `error`، `critical`، `fatal`. على سبيل المثال:

```bash
TRANSFORMERS_VERBOSITY=error ./myprogram.py
```

بالإضافة إلى ذلك، يمكن تعطيل بعض `warnings` عن طريق تعيين متغير البيئة `TRANSFORMERS_NO_ADVISORY_WARNINGS` إلى قيمة صحيحة، مثل *1*. سيؤدي هذا إلى تعطيل أي تحذير يتم تسجيله باستخدام `logger.warning_advice`. على سبيل المثال:

```bash
TRANSFORMERS_NO_ADVISORY_WARNINGS=1 ./myprogram.py
```

فيما يلي مثال على كيفية استخدام نفس المسجّل الذي تستخدمه المكتبة في وحدة أو سكربت خاص بك:

```python
from transformers.utils import logging

logging.set_verbosity_info()
logger = logging.get_logger("transformers")
logger.info("INFO")
logger.warning("WARN")
```

جميع طرق وحدة السجل هذه موثقة أدناه، وأهمها [logging.get_verbosity()](/docs/transformers/main/ar/main_classes/logging#transformers.utils.logging.get_verbosity) للحصول على مستوى التفصيل الحالي في السجل، و[logging.set_verbosity()](/docs/transformers/main/ar/main_classes/logging#transformers.utils.logging.set_verbosity) لضبط مستوى التفصيل إلى المستوى الذي تختاره. وبالترتيب (من الأقل تفصيلاً إلى الأكثر تفصيلاً)، تكون هذه المستويات (مع قيمها الرقمية المقابلة بين قوسين) كالتالي:

- `transformers.logging.CRITICAL` أو `transformers.logging.FATAL` (قيمة عددية، 50): الإبلاغ عن الأخطاء الأكثر حرجة فقط.
- `transformers.logging.ERROR` (قيمة عددية، 40): الإبلاغ عن الأخطاء فقط.
- `transformers.logging.WARNING` أو `transformers.logging.WARN` (قيمة عددية، 30): يُبلّغ عن الأخطاء والتحذيرات فقط. هذا هو المستوى الافتراضي المستخدم في المكتبة.
- `transformers.logging.INFO` (قيمة عددية، 20): يُبلغ عن الأخطاء والتنبيهات والمعلومات الأساسية.
- `transformers.logging.DEBUG` (قيمة عددية، 10): الإبلاغ عن جميع المعلومات.

بشكل افتراضي، ستظهر أشرطة تقدم `tqdm` أثناء تنزيل النموذج. يمكن استخدام [logging.disable_progress_bar()](/docs/transformers/main/ar/main_classes/logging#transformers.utils.logging.disable_progress_bar) و [logging.enable_progress_bar()](/docs/transformers/main/ar/main_classes/logging#transformers.utils.logging.enable_progress_bar) لكبح هذا السلوك أو إلغاء كبحه.

## `logging` مقابل `warnings`[[transformers.utils.logging.captureWarnings]]

يحتوي Python على نظامَي تسجيل (logging) يُستخدمان غالبًا معًا: `logging`، الذي تم شرحه أعلاه، و`warnings`، الذي يتيح تصنيف التحذيرات في فئات محددة، مثل `FutureWarning` لميزة أو مسار تم إيقافه بالفعل، و`DeprecationWarning` للإشارة إلى إيقاف قادم.

نستخدم كلاهما في مكتبة `transformers`. نستفيد من طريقة `captureWarnings` في `logging` ونكيّفها للسماح بإدارة رسائل التحذير هذه من خلال مُعيّنات مستوى التفصيل المذكورة أعلاه.

ماذا يعني ذلك لمطوّري المكتبة؟ يجب علينا احترام القواعد الإرشادية التالية:

- يجب تفضيل `warnings` لمطوّري المكتبة والمكتبات المعتمدة على `transformers`
- يجب استخدام `logging` للمستخدمين النهائيين للمكتبة الذين يستخدمونها في مشاريعهم اليومية

انظر إلى مرجع طريقة `captureWarnings` أدناه.

#### transformers.utils.logging.captureWarnings[[transformers.utils.logging.captureWarnings]]

```python
transformers.utils.logging.captureWarnings(capture)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L136)

يستدعي طريقة `captureWarnings` من مكتبة التسجيل لتفعيل إدارة التحذيرات التي تصدرها مكتبة `warnings`.

Read more about this method here: https://docs.python.org/3/library/logging.html#integration-with-the-warnings-module

ستُسجَّل جميع التحذيرات عبر مسجّل `py.warnings`.

انتبه: تضيف هذه الطريقة أيضًا معالجًا لهذا المسجّل إذا لم يكن لديه معالج بالفعل، وتحديث مستوى التسجيل لذلك المسجّل إلى المسجّل الجذري للمكتبة.

## المُعيّنات الأساسية[[transformers.utils.logging.set_verbosity_error]]

#### transformers.utils.logging.set_verbosity_error[[transformers.utils.logging.set_verbosity_error]]

```python
transformers.utils.logging.set_verbosity_error()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L230)

اضبط مستوى التفصيل على مستوى `ERROR`.

#### transformers.utils.logging.set_verbosity_warning[[transformers.utils.logging.set_verbosity_warning]]

```python
transformers.utils.logging.set_verbosity_warning()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L220)

اضبط مستوى التفصيل على مستوى `WARNING`.

#### transformers.utils.logging.set_verbosity_info[[transformers.utils.logging.set_verbosity_info]]

```python
transformers.utils.logging.set_verbosity_info()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L215)

اضبط مستوى التفصيل على مستوى `INFO`.

#### transformers.utils.logging.set_verbosity_debug[[transformers.utils.logging.set_verbosity_debug]]

```python
transformers.utils.logging.set_verbosity_debug()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L225)

اضبط مستوى التفصيل على مستوى `DEBUG`.

## دوال أخرى[[transformers.utils.logging.get_verbosity]]

#### transformers.utils.logging.get_verbosity[[transformers.utils.logging.get_verbosity]]

```python
transformers.utils.logging.get_verbosity()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L173)

**يعيد:** `int`

مستوى التسجيل.

أعد المستوى الحالي لسجّان الجذر الخاص بـ 🤗 Transformers كعدد صحيح.

تتوفر في 🤗 Transformers مستويات تسجيل التالية:

- 50: `transformers.logging.CRITICAL` أو `transformers.logging.FATAL`
- 40: `transformers.logging.ERROR`
- 30: `transformers.logging.WARNING` أو `transformers.logging.WARN`
- 20: `transformers.logging.INFO`
- 10: `transformers.logging.DEBUG`

#### transformers.utils.logging.set_verbosity[[transformers.utils.logging.set_verbosity]]

```python
transformers.utils.logging.set_verbosity(verbosity: int)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L196)

**المعاملات:**

verbosity (`int`) : مستوى التسجيل، على سبيل المثال، أحد ما يلي: - `transformers.logging.CRITICAL` أو `transformers.logging.FATAL` - `transformers.logging.ERROR` - `transformers.logging.WARNING` أو `transformers.logging.WARN` - `transformers.logging.INFO` - `transformers.logging.DEBUG`

اضبط مستوى التفصيل الخاص بسجّال الجذر (root logger) في 🤗 Transformers.

#### transformers.utils.logging.get_logger[[transformers.utils.logging.get_logger]]

```python
transformers.utils.logging.get_logger(name: str | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L159)

إرجاع مسجّل (logger) بالاسم المحدد.

لا يُفترض الوصول إلى هذه الدالة مباشرةً ما لم تكن تكتب وحدة transformers مخصصة.

#### transformers.utils.logging.enable_default_handler[[transformers.utils.logging.enable_default_handler]]

```python
transformers.utils.logging.enable_default_handler()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L244)

فعّل المعالج الافتراضي لسجّال الجذر الخاص بـ HuggingFace Transformers.

#### transformers.utils.logging.disable_default_handler[[transformers.utils.logging.disable_default_handler]]

```python
transformers.utils.logging.disable_default_handler()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L235)

عطّل المُعالِج الافتراضي لسجّال الجذر الخاص بـ HuggingFace Transformers.

#### transformers.utils.logging.enable_explicit_format[[transformers.utils.logging.enable_explicit_format]]

```python
transformers.utils.logging.enable_explicit_format()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L290)

تفعيل التنسيق الصريح لكل مسجّل في مكتبة HuggingFace Transformers. التنسيق الصريح هو على النحو التالي:
```
    [LEVELNAME|FILENAME|LINE NUMBER] TIME >> MESSAGE
```

تتأثر جميع المعالجات المرتبطة حاليًا بسجّال الجذر (root logger) بهذه الطريقة.

#### transformers.utils.logging.reset_format[[transformers.utils.logging.reset_format]]

```python
transformers.utils.logging.reset_format()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L305)

يعيد تعيين تنسيق مسجلات HuggingFace Transformers.

تتأثر جميع المعالجات المرتبطة حاليًا بسجّال الجذر (root logger) بهذه الطريقة.

#### transformers.utils.logging.enable_progress_bar[[transformers.utils.logging.enable_progress_bar]]

```python
transformers.utils.logging.enable_progress_bar()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L410)

تفعيل شريط تقدّم tqdm.

#### transformers.utils.logging.disable_progress_bar[[transformers.utils.logging.disable_progress_bar]]

```python
transformers.utils.logging.disable_progress_bar()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L417)

تعطيل شريط تقدم tqdm.

