Metadata-Version: 2.1
Name: contek-timbersaw
Version: 2.3
Summary: Timbersaw for automatic logging configuration
Home-page: https://github.com/contek-io/contek-timbersaw
Author: contek_bjy
Author-email: bjy@contek.io
License: MIT
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# Timbersaw Logging Configurator

```timbersaw``` is a an automatic logging configurator.

### 1. Quick Start

```python
import logging
import contek_timbersaw as timbersaw

timbersaw.setup()
logger = logging.getLogger(__name__)

logger.info('foo bar')
```

### 2. Results

**INFO** level logging will be written to:

```
{WORKING_DIRECTORY}/logs/info/{yyyy}-{MM}-{dd}.log
```

**ERROR** level logging will be written to:

```
{WORKING_DIRECTORY}/logs/error/{yyyy}-{MM}-{dd}.log
```

### 3. Features

#### Compression

When an **INFO** log file passes its active period (defaults to when a new day starts), it gets GZipped. For example:

```
2009-01-03.log -> 2009-01-03.log.gz
```

#### Retention

Old logs will be deleted after their retention period. By default, **INFO** logs are kept for 14 days and **ERROR** logs
are kept for 28 days.

### 4. Default Settings

#### log_format

```
%(asctime)s %(levelname)s %(filename)s:%(lineno)d - %(message)s
```

#### log_date_format

```
%Y-%m-%dT%H:%M:%S
```

#### log_root

```
{WORKDING_DIRECTORY}/logs
```

#### log_rolling

```
MIDNIGHT
```

#### log_utc

```
False
```

#### log_info_retention_days

```
14
```

#### log_error_retention_days

```
28
```

### 5. Customization

Settings are configurable via environment properties. They can be set before your program starts using ``export``. For
example:

```
export log_error_retention_days=7
```

Otherwise, they can be set at runtime using ``os.environ``. For example:

```python
import os

os.environ['log_error_retention_days'] = '7'
```


