# colorlg

🎨 **Renkli ve filtrelenmiş Python logger**

Terminal çıktılarını renkli ve okunabilir hale getiren, istenmeyen log kayıtlarını filtreleyen hafif bir logging kütüphanesi.

## 📦 Kurulum

```bash
pip install colorlg
```

🚀 Hızlı Başlangıç
------------------

### Temel Kullanım

Python

```
from colorlg import logger

logger.debug("Bu bir debug mesajıdır")
logger.info("Bu bir info mesajıdır")
logger.warning("Bu bir uyarı mesajıdır")
logger.error("Bu bir hata mesajıdır")
logger.critical("Bu kritik bir hatadır")
```

Çıktı:

text

```
2024-01-15 14:30:25 | INFO     | example.py                          | 5     | Bu bir info mesajıdır
2024-01-15 14:30:25 | WARNING  | example.py                          | 6     | Bu bir uyarı mesajıdır
2024-01-15 14:30:25 | ERROR    | example.py                          | 7     | Bu bir hata mesajıdır
```

Her log seviyesi farklı renkle gösterilir:

-   🔵 DEBUG: Cyan
-   🟢 INFO: Green
-   🟡 WARNING: Yellow
-   🔴 ERROR: Red
-   🟣 CRITICAL: Magenta

### Özelleştirilmiş Logger

Python

```
from colorlg import setup_logger
import logging

# Belirli dosyalardan gelen logları filtrele
logger = setup_logger(
    level=logging.DEBUG,
    exclude_files=["_client.py", "urllib3.py"]
)

logger.info("Bu görünür")
```

### Manuel Yapılandırma

Python

```
import logging
from colorlg import ColorFormatter, ExcludeClientPyFilter

# Kendi logger'ınızı oluşturun
handler = logging.StreamHandler()
handler.setFormatter(ColorFormatter())
handler.addFilter(ExcludeClientPyFilter(exclude_files=["unwanted.py"]))

custom_logger = logging.getLogger("myapp")
custom_logger.setLevel(logging.INFO)
custom_logger.addHandler(handler)
```

🛠️ Özellikler
--------------

| Özellik | Açıklama |
| --- | --- |
| Renkli Çıktı | Her log seviyesi farklı ANSI renk koduyla |
| Dosya Filtreleme | İstenmeyen dosyalardan gelen logları engelle |
| Sıfır Bağımlılık | Sadece Python stdlib kullanır |
| Kolay Entegrasyon | Tek satır import ile çalışır |
| Özelleştirilebilir | Kendi formatter ve filtrelerinizi ekleyin |

📋 API Referansı
----------------

### `logger`

Varsayılan global logger. Hemen kullanıma hazır.

Python

```
from colorlg import logger
logger.info("Mesaj")
```

### `setup_logger(level, exclude_files, use_color, stream)`

Özelleştirilmiş logger oluşturur.

Parametreler:

-   `level` (int): Log seviyesi (varsayılan: `logging.INFO`)
-   `exclude_files` (list): Filtrelenecek dosya isimleri
-   `use_color` (bool): Renkli çıktı kullan (varsayılan: `True`)
-   `stream`: Log çıktısı için stream (varsayılan: `sys.stderr`)

Örnek:

Python

```
logger = setup_logger(
    level=logging.DEBUG,
    exclude_files=["requests.py"],
    use_color=True
)
```

### `ColorFormatter`

Renkli log formatlayıcı sınıfı.

Python

```
from colorlg import ColorFormatter
import logging

handler = logging.StreamHandler()
handler.setFormatter(ColorFormatter())
```

### `ExcludeClientPyFilter`

Belirli dosyalardan gelen logları filtreleyen sınıf.

Python

```
from colorlg import ExcludeClientPyFilter

filter = ExcludeClientPyFilter(exclude_files=["_internal.py", "vendor.py"])
handler.addFilter(filter)
```