Просмотр логов с определенного времени или вывод последних записей
На этом шаге мы рассмотрим, как просматривать логи контейнера, сгенерированные после определенного времени, или выводить только самые последние записи. Это особенно полезно при работе с контейнерами, которые работают длительное время и создали большой объем логов.
Для просмотра логов, сгенерированных с определенного времени, можно использовать флаг --since
. Значение для --since
может быть временной меткой (как те, что мы видели с флагом -t
) или относительным временным интервалом (например, 10m
для 10 минут, 1h
для 1 часа).
Давайте подождем несколько секунд, чтобы наш контейнер my-logging-container
сгенерировал дополнительные логи, а затем посмотрим записи за последние 30 секунд:
sleep 30
docker logs --since 30s my-logging-container
Эта команда выведет только записи логов, сгенерированные за последние 30 секунд. Вывод будет аналогичен полным логам, но содержать только последние записи.
Hello from the container at ...
Hello from the container at ...
Hello from the container at ...
... (только логи за последние 30 секунд)
Еще одна распространенная задача - просмотр только последних строк логов, аналогично использованию команды tail
. Это можно сделать с помощью флага --tail
, за которым следует количество строк для вывода.
Посмотрим последние 5 строк логов нашего контейнера:
docker logs --tail 5 my-logging-container
Эта команда выведет только 5 последних записей логов контейнера.
Hello from the container at ...
Hello from the container at ...
Hello from the container at ...
Hello from the container at ...
Hello from the container at ... (последние 5 строк)
Можно комбинировать --since
и --tail
с другими флагами, такими как -t
и -f
, для получения более специфичного представления логов контейнера. Например, для просмотра последних 10 строк с временными метками:
docker logs -t --tail 10 my-logging-container
Эти опции предоставляют мощные способы фильтрации и просмотра логов контейнера, упрощая быстрый поиск нужной информации.