Небольшие правки по журналированию
This commit is contained in:
parent
7b76c65af6
commit
f0d7e78268
2 changed files with 13 additions and 15 deletions
5
TODO.md
5
TODO.md
|
|
@ -1 +1,6 @@
|
|||
# TODO
|
||||
|
||||
- Доработать получение TZ до старта демона, добавить необходимые пути в исключения.
|
||||
- Проверить директорию как точку монтирования (потенциально) для отслеживания в fanotify как новый источник для FILESYSTEM.
|
||||
- Необходим баннер с суммарной информацией по старту и прекращению работы демона с подробной информацией о работе.
|
||||
- Вынести параметры CDC (`storage.setupCDC(2048, 8192, 65_536, 0x7FFF, 0x7FF)`) в отдельный блок.
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ private {
|
|||
bool handled = receiveTimeout(200.msecs,
|
||||
(StopDaemon s) {
|
||||
send(mainTid, StoppedDaemon());
|
||||
warning("🚦 Остановка воркера");
|
||||
},
|
||||
(Session session) {
|
||||
trace("📩 Получен файл для создания снимка: ", session.filePathOpen);
|
||||
|
|
@ -67,7 +68,7 @@ private {
|
|||
info("⚠️ Файл имеет актуальное состояние снимка: ", session.filePathOpen);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
writeln("❗️ ", e.msg);
|
||||
errorf("❗️ %s: %s", e.msg, session.filePathOpen);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
|
@ -183,22 +184,16 @@ public:
|
|||
signal(SIGINT, &handleSignal);
|
||||
signal(SIGTERM, &handleSignal);
|
||||
|
||||
writefln("ВНИМАНИЕ! Демон запущен в %s режиме!", _global ? "глобальном" : "обычном");
|
||||
writeln("⚙️ Текущий процесс: ", _pid);
|
||||
writeln("🗄 База данных: ", _database);
|
||||
infof("ВНИМАНИЕ! Демон запущен в %s режиме!", _global ? "глобальном" : "обычном");
|
||||
info("⚙️ Текущий процесс: ", _pid);
|
||||
info("🗄 База данных: ", _database);
|
||||
|
||||
_pds = [ pollfd(_fanFD, POLLIN, 0) ];
|
||||
|
||||
// Игнорирование файлов, к которым имеет доступ сам демон
|
||||
foreach (ignoreFile; ignoreFiles) {
|
||||
if (!ignoreFile.exists) continue;
|
||||
int res = fanotify_mark(
|
||||
_fanFD,
|
||||
FAN_MARK_ADD | FAN_MARK_IGNORE_SURV,
|
||||
_mask,
|
||||
AT_FDCWD,
|
||||
ignoreFile.toStringz()
|
||||
);
|
||||
int res = fanotify_mark(_fanFD, FAN_MARK_ADD | FAN_MARK_IGNORE_SURV, _mask, AT_FDCWD, ignoreFile.toStringz());
|
||||
if (auto e = collectException!ErrnoException(
|
||||
errnoEnforce(res == 0, "fanotify_mark failed:")
|
||||
)) {
|
||||
|
|
@ -277,7 +272,7 @@ public:
|
|||
}
|
||||
}
|
||||
} else {
|
||||
readlinkFdPath(metadata.fd).writeln;
|
||||
warning("Обнаружен новый источник для добавления в исключения: ", readlinkFdPath(metadata.fd));
|
||||
}
|
||||
|
||||
// По умолчанию разрешить доступ всем событиям
|
||||
|
|
@ -322,7 +317,6 @@ public:
|
|||
if (_fanFD >= 0) close(_fanFD);
|
||||
|
||||
warning("🚦 Остановка демона по сигналу SIGINT/SIGTERM");
|
||||
// writeln("🚦 Остановка демона по сигналу SIGINT/SIGTERM");
|
||||
|
||||
// Отправка дочернему процессу сигнал об остановке
|
||||
send(_tid, StopDaemon());
|
||||
|
|
@ -330,8 +324,7 @@ public:
|
|||
bool stopped = false;
|
||||
receiveTimeout(10.seconds, (StoppedDaemon s) { stopped = true; });
|
||||
|
||||
warning(stopped ? "✅ Воркер остановился" : "⏱️ Воркер не подтвердил остановку");
|
||||
// writeln(stopped ? "✅ Воркер остановился" : "⏱️ Воркер не подтвердил остановку");
|
||||
info(stopped ? "✅ Воркер остановился" : "⏱️ Воркер не подтвердил остановку");
|
||||
|
||||
// Завершение работы демона
|
||||
exit(EXIT_SUCCESS);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue