labctl
войти регистрация

Заменить уровень логирования

имя
sed-replace
образ
python:3.12-slim
таймаут
30с
проверка…

Задание

Заменить уровень логирования

Лог приложения написан на слишком подробном уровне DEBUG. Нужен лог уровня
INFO: возьми /app/log.txt, замени каждое вхождение [DEBUG] на [INFO]
и запиши результат в /app/output.txt.

Симптомы

Файл /app/log.txt состоит из строк вида:

[DEBUG] some message 1
[DEBUG] some message 2
[DEBUG] some message 3
[DEBUG] some message 4
[DEBUG] some message 5

Файла /app/output.txt ещё не существует.

Требуемое состояние

В /app/output.txt должно быть столько же строк, сколько в /app/log.txt,
причём каждое [DEBUG] заменено на [INFO]. Ни одного [DEBUG] в выводе
остаться не должно. Исходный /app/log.txt можно не трогать.

Почему

sed — стандартный потоковый редактор для массовой правки текста. Умение
сделать замену по шаблону и перенаправить поток в новый файл — базовый навык
для чистки и нормализации логов в pipeline'ах.

Подсказки

Подсказки: заменить уровень логирования

  • cat /app/log.txt — посмотреть исходный лог.
  • sed 's/\[DEBUG\]/[INFO]/g' /app/log.txt > /app/output.txt — глобальная
    замена с перенаправлением в новый файл.
  • Флажок g нужен, чтобы заменить все вхождения в строке, а не только первое.
  • Квадратные скобки [...] — спецсимволы в regex sed, их надо экранировать
    через \[ и \].
  • Проверь результат: grep -c DEBUG /app/output.txt должно вывести 0.

Последние попытки

  • Загрузка…

Разовый запуск (smoke-тест)

Атомарный цикл up → check → down. Полезно для CI; без предварительной подготовки состояния проверка завершится с ошибкой.