# Persian Logger

یک **logger فارسی برای پایتون** با پشتیبانی از:

- اعداد فارسی (`۰۱۲۳۴۵۶۷۸۹`)
- تاریخ و ساعت **جلالی فارسی**
- پشتیبانی از **RTL (راست‌چین)** برای جملات فارسی و ترکیبی
- قالب‌بندی جداگانه برای **کنسول و فایل**
- تشخیص خودکار محیط ترمینال (VSCode, GNOME, iTerm و غیره)

---

## نصب

```bash
pip install persian-logger
```

---

## استفاده

```python
from persian_logger.logger import get_fa_logger

logger = get_fa_logger()

logger.debug("این DEBUG است")
logger.info("سلام! پکیج با موفقیت نصب شد")
logger.warning("این هشدار است")
```

### خروجی کنسول

```
[۱۴۰۴/۰۸/۱۸ | ۱۲:۳۰:۲۶ | اطلاعات] (سلام! پکیج با موفقیت نصب شد)
[۱۴۰۴/۰۸/۱۸ | ۱۲:۳۰:۲۶ | اشکال‌زدایی] (این DEBUG است)
[۱۴۰۴/۰۸/۱۸ | ۱۲:۳۰:۲۶ | هشدار] (این هشدار است)
```

---

## ویژگی‌ها

- **اعداد و تاریخ فارسی:** نمایش اعداد و تاریخ/ساعت جلالی فارسی
- **RTL خودکار:** جملات فارسی یا ترکیبی انگلیسی+فارسی راست‌چین می‌شوند
- **Formatterهای جداگانه:**
  - `ConsolePersianFormatter` → برای ترمینال
  - `FilePersianFormatter` → برای فایل
- **سازگاری ترمینال:** تشخیص خودکار محیط و فعال/غیرفعال کردن RTL

---

## ساختار پروژه

```
persian_logger/
├── converter.py          # تبدیل اعداد و RTL
├── formatter.py          # Formatterهای کنسول و فایل
├── logger.py             # تابع get_fa_logger
├── terminal_supports_rtl.py  # تشخیص ترمینال
tests/                     # تست‌ها
examples/                  # مثال‌های کاربردی
```

---

## تست

```bash
pytest tests/
```

تمام تست‌ها شامل:
- نمایش صحیح RTL
- تبدیل اعداد و تاریخ/ساعت جلالی فارسی
- جلوگیری از duplicate شدن پیام‌ها
- تست روی ترمینال‌های مختلف