слов.арь · bisovka

объясни log --простыми-словами

Иллюстрация к термину «Лог»

Лог

КороткоСофт ведет дневник, в котором не может соврать: он пишет каждую строку ровно в момент события и никогда не возвращается ее править.

Софт ведет дневник, в котором не может соврать: он пишет каждую строку ровно в момент события и никогда не возвращается ее править. Этот дневник и есть лог.

Представь чековый принтер, который никогда не останавливается. Он разматывает на пол длинную ленту, и каждый раз, когда что-то происходит, печатает строку с точным временем. Он не подводит итоги, не наводит красоту, не решает, что было важно. Просто записывает по порядку, прямо на ходу: запрос пришел, платеж списан, ошибка вот здесь, закончили. Одно событие, одна строка, навсегда.

Это лог. Текущая, помеченная временем, append-only запись того, что программа реально сделала. "Append-only" здесь главное: новые строки только добавляются вниз, а уже написанное не меняется. Поэтому лог — это неотредактированный свидетель, дневник в прямом эфире, а не история, пересказанная потом по памяти. Когда что-то ломается, ты доверяешь живой записи, потому что ее не могли тихо причесать.

Как ты реально им пользуешься. Когда что-то идет не так, ты не сидишь и не гадаешь. Ты отматываешь ленту назад к моменту сбоя и читаешь, что софт делал прямо тогда. Половина дебага — это именно это: найти момент в логе, прочитать строку перед тем, как все поехало.

Пара связей, чтобы закрепилось:

Почему это важно в ту секунду, когда появляется агент. Агенты работают без экрана и без зрителя, в этом весь смысл запуска без интерфейса. Поэтому лог — это способ увидеть, что агент делал, пока ты спал. "Проверь логи" значит просто: прочитай ленту всех шагов, которые он сделал, по порядку. Когда агент уходит не туда в 2 ночи, лог — это чек, который точно показывает, где именно.

Одна честная оговорка: лог полезен ровно настолько, насколько полезно то, что в него записали. Слишком мало — и он молчит о единственной вещи, которая была нужна. Слишком много — и важная строка похоронена под шумом. Хорошее логирование — это записывать ровно столько, чтобы восстановить произошедшее, и не больше.

Лог — это чековая лента, которую софт печатает во время работы: строка за строкой, с временем, без правок. Когда что-то ломается, ты не угадываешь. Ты отматываешь назад и читаешь, что на самом деле произошло.

← все термины