git clone https://github.com/central-university-dev/3-python-khalmatay.git
export env_name="3-python-khalmatay"
conda create -n $env_name python=3.10
conda activate $env_name
conda install --file requirements.txt
python src/analyzer.py --path "logs/*.txt" --from 2024-11-01 --format markdown
python src/analyzer.py --path https://raw.githubusercontent.com/elastic/examples/master/Common%20Data%20Formats/nginx_logs/nginx_logs
python src/analyzer.py --path "logs/*.txt" --from 2024-11-01 --filter-field user_agent --filter-value "Mozilla*"
python src/analyzer.py --path "logs/*.txt" --from 2024-11-01 --filter-field method --filter-value "GET"
pytest -v
Параметр | Описание | Пример |
---|---|---|
--path |
Путь к логам (может быть локальный путь или URL). | "logs/*.txt" или "http://example.com/logs" |
--from |
Начальная дата для фильтрации логов (формат ISO8601). | "2024-11-01" |
--to |
Конечная дата для фильтрации логов (формат ISO8601). | "2024-12-01" |
--format |
Формат отчета (markdown или adoc ). |
markdown |
--filter-field |
Поле для фильтрации (например, method , user_agent ). |
"user_agent" |
--filter-value |
Значение для фильтрации (регулярное выражение). | "Mozilla.*" |
3-python-khalmatay/
│
├── src/
│ ├── __init__.py
│ ├── analyzer.py
│ ├── log_collect_statistics.py
│ ├── log_filter.py
│ ├── log_generate_report.py
│ ├── log_parser.py
│ ├── log_reader.py
│ ├── main.py
│
│
├── tests/
│ ├── __init__.py
│ ├── test_analyzer.py
│ ├── test_log_collect_statistics.py
│ ├── test_log_filter.py
│ ├── test_log_generate_report.py
│ ├── test_log_parser.py
│ ├── test_log_reader.py
│ ├── test_main.py
│ ├── confest.py
├── analyzer_output.adoc
├── analyzer_output.md
├── README.md