PHPackages                             besnovatyj/yii2-cms-logs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. besnovatyj/yii2-cms-logs

ActiveYii2-extension[Logging &amp; Monitoring](/categories/logging)

besnovatyj/yii2-cms-logs
========================

Модуль просмотра и управления логами для Yii2 CMS

v1.0.1(2d ago)03MITPHP &gt;=8.4

Since Jul 7Compare

[ Source](https://github.com/besnovatyj/yii2-cms-logs)[ Packagist](https://packagist.org/packages/besnovatyj/yii2-cms-logs)[ RSS](/packages/besnovatyj-yii2-cms-logs/feed)WikiDiscussions Synced today

READMEChangelogDependencies (5)Versions (3)Used By (0)

yii2-cms-logs — просмотр и управление всеми логами приложения
=============================================================

[](#yii2-cms-logs--просмотр-и-управление-всеми-логами-приложения)

Модуль-вьювер **всех** лог-файлов в `@runtime/logs`: и Monolog-датированных, и нумерной ротации Yii `FileTarget` (`app.log`, `app.log.1`, …), и ZIP-архивов. Логика идентична `besnovatyj/yii2-cms-monolog`, но охват шире (тот модуль — только `monolog*`). Классификатор `LogFileName` намеренно продублирован (пакеты независимы).

Конвенция имён файлов
---------------------

[](#конвенция-имён-файлов)

```
[-][.].log[.][.zip]

```

- `base` — логический ключ канала/группы (`app`, `monolog`, `monolog-auth`, …); по нему группируется история.
- `-` — суточная ротация Monolog `RotatingFileHandler` (статического «текущего» файла нет — всегда датированный; «текущий» = с датой сегодня).
- `.` — метка принудительной ротации «в историю» (механизм copy+truncate).
- `.` — нумерная ротация Yii `FileTarget` (`app.log.1`, `app.log.2`, …).
- `.zip` — ZIP-архив.

Классификация: `entities/LogFileName`
-------------------------------------

[](#классификация-entitieslogfilename)

Детерминированный парсер имени вместо хрупких регэкспов:

- **zip** — оканчивается на `.zip`;
- **history** — есть `archiveStamp` ИЛИ `numIndex` (нумерная ротация Yii) ИЛИ `rotateDate < сегодня`;
- **current** — иначе (даты/номера нет, либо дата == сегодня).

`getBase()` — ключ канала (история группируется по нему, НЕ по slug). `looksLikeLog()` — любой файл, содержащий `.log` (опц. `.N` и/или `.zip`).

Слои
----

[](#слои)

- **`entities/Log`** — обёртка над файлом. `getKind()`, `getChannelKey()`, `getIsCurrent()`, `getIsZip()`, `getCounts()` (по plain-тексту Yii `… [уровень]`; для zip — пусто). `slug` = `Inflector::slug(имя_файла)` — стабилен per-file, в т.ч. для zip.
- **`repositories/FileLogRepository`** — один проход по каталогу, фильтр по `kind`. `getBySlug()` — среди всех файлов любого вида. `findHistoryBySlug()`— все НЕ-current файлы того же канала (история + zip).
- **`services/LogManageService`** — бизнес-операции (ниже).
- **`controllers/backend/LogController`** + views. `view` отдаёт файл инлайн `text/plain`; `tail` — последние строки через `tail`.

Страницы и действия
-------------------

[](#страницы-и-действия)

СтраницаСодержимоеДействия`index`текущие файлы (по одному на канал/группу)History, View, Rotate, Zip, Download, Delete`index-history`ротированные (Monolog-дата, Yii-`.N`, принуд.)View, Zip, Download, Delete`index-zip`только `.zip`Download, Delete`history?slug=`история конкретного канала (история + zip)View, Zip, Download, Delete (View/Zip скрыты для zip)Download доступен для файла на любой стадии.

Rotate и Zip — механизм copy+truncate
-------------------------------------

[](#rotate-и-zip--механизм-copytruncate)

В текущий файл может прямо сейчас писать открытый дескриптор писателя (Monolog / Yii FileTarget), поэтому:

- **Rotate** (только текущий файл): копировать в `..log` (станет history), затем **обнулить** текущий — открытый дескриптор продолжает писать в тот же inode (теперь пустой), без потери записей.
- **Zip**: упаковать в `.zip`. Для **текущего** файла оригинал не удаляется, а обнуляется (та же причина). Для остальных — упаковать и удалить.

История изменений логики
------------------------

[](#история-изменений-логики)

Модуль отпочковался от логики просмотра логов; классификация была завязана на устаревшие регэкспы (одна дата-метка, односегментное имя), из-за чего многоканальные Monolog-файлы и заархивированные с меткой `YmdHis` пропадали. Заменено единой моделью `LogFileName` + группировкой по `base`. Мёртвые действия `zip-all`/`clean-all` (без экшенов в контроллере) удалены.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance99

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

2

Last Release

2d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4dab004c4cab25d241bbf453f63cb48e6226d00bd84f50315e735c257c4a1b40?d=identicon)[besnovatyj](/maintainers/besnovatyj)

---

Tags

logcmsyii2

### Embed Badge

![Health badge](/badges/besnovatyj-yii2-cms-logs/health.svg)

```
[![Health](https://phpackages.com/badges/besnovatyj-yii2-cms-logs/health.svg)](https://phpackages.com/packages/besnovatyj-yii2-cms-logs)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.6M3.2k](/packages/craftcms-cms)[skeeks/cms

SkeekS CMS — control panel and tools based on php framework Yii2

13825.8k60](/packages/skeeks-cms)[lav45/yii2-activity-logger

Tools to store user activity log for Yii2

3460.8k](/packages/lav45-yii2-activity-logger)[putyourlightson/craft-log-to-file

Logs messages to a specific log file for Craft CMS.

29368.7k5](/packages/putyourlightson-craft-log-to-file)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
