[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-logirovanie-chto-takoe-logback-i-chem-on-luchshe-log4j":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},1299,"chto-takoe-logback-i-chem-on-luchshe-log4j",43,"logirovanie","Логирование","📝","Что такое Logback и чем он лучше Log4j?","Logback — фреймворк логирования, созданный автором Log4j (Ceki Gulcu) как его преемник. Является нативной реализацией SLF4J и используется по умолчанию в Spring Boot.\n\n### Структура Logback\n\n| Модуль | Назначение |\n|--------|-----------|\n| logback-core | Базовый модуль |\n| logback-classic | Реализация SLF4J API (основной модуль) |\n| logback-access | Интеграция с Servlet-контейнерами для HTTP access логов |\n\n### Logback vs Log4j 1.x\n\n| Критерий | Log4j 1.x | Logback |\n|----------|-----------|---------|\n| Производительность | Медленнее | В 10 раз быстрее на критических путях |\n| SLF4J | Через адаптер | Нативная реализация |\n| Автоматическая перезагрузка конфига | Нет | Да, без потери событий |\n| Условная конфигурация (`\u003Cif>`) | Нет | Да |\n| Фильтры | Базовые | Мощные (TurboFilter, EvaluatorFilter) |\n| Graceful recovery | Нет | Автоматическое восстановление после ошибок I\u002FO |\n| Архивирование | Ограниченное | Автоматическое сжатие, удаление старых логов |\n| Статус в 2026 | EOL с 2015, не использовать | Стандарт (Spring Boot default) |\n\nLog4j 1.x End-of-Life с 2015 года. Log4j 2.x — отдельный проект, современная альтернатива Logback. Оба варианта (Logback и Log4j 2.x) актуальны.\n\n\u003Cdetails>\n\u003Csummary>Базовая конфигурация logback.xml\u003C\u002Fsummary>\n\n```xml\n\u003Cconfiguration>\n    \u003Cappender name=\"CONSOLE\" class=\"ch.qos.logback.core.ConsoleAppender\">\n        \u003Cencoder>\n            \u003Cpattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n\u003C\u002Fpattern>\n        \u003C\u002Fencoder>\n    \u003C\u002Fappender>\n\n    \u003Cappender name=\"FILE\" class=\"ch.qos.logback.core.rolling.RollingFileAppender\">\n        \u003Cfile>logs\u002Fapp.log\u003C\u002Ffile>\n        \u003CrollingPolicy class=\"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy\">\n            \u003CfileNamePattern>logs\u002Fapp.%d{yyyy-MM-dd}.%i.log.gz\u003C\u002FfileNamePattern>\n            \u003CmaxFileSize>100MB\u003C\u002FmaxFileSize>\n            \u003CmaxHistory>30\u003C\u002FmaxHistory>\n            \u003CtotalSizeCap>3GB\u003C\u002FtotalSizeCap>\n        \u003C\u002FrollingPolicy>\n        \u003Cencoder>\n            \u003Cpattern>%d{ISO8601} [%thread] %-5level %logger{36} - %msg%n\u003C\u002Fpattern>\n        \u003C\u002Fencoder>\n    \u003C\u002Fappender>\n\n    \u003Clogger name=\"com.example\" level=\"DEBUG\"\u002F>\n    \u003Clogger name=\"org.hibernate.SQL\" level=\"DEBUG\"\u002F>\n\n    \u003Croot level=\"INFO\">\n        \u003Cappender-ref ref=\"CONSOLE\"\u002F>\n        \u003Cappender-ref ref=\"FILE\"\u002F>\n    \u003C\u002Froot>\n\u003C\u002Fconfiguration>\n```\n\n\u003C\u002Fdetails>\n\n### Ключевые элементы конфигурации\n\n- `%logger{36}` — имя логгера, обрезанное до 36 символов\n- Rolling policy — обязательна для production: ротация по размеру и времени, автоматическое сжатие\n- `totalSizeCap` — общий лимит дискового пространства для всех архивов\n- `maxHistory` — сколько дней хранить ротированные файлы\n\n### Частые ошибки\n\n- Логирование в файл без ротации — диск заполняется, приложение падает\n- Не указать `totalSizeCap` — старые логи никогда не удаляются\n- Использовать Log4j 1.x в новых проектах — EOL, уязвимости не исправляются\n\n### Как используется в 2026\n\n- Logback — стандарт в Spring Boot экосистеме\n- Log4j 2.x — альтернатива, особенно для проектов с async logging (LMAX Disruptor)\n- В Kubernetes логирование в stdout предпочтительнее файлов — Logback ConsoleAppender\n\n> **На собеседовании:** важно не путать Log4j 1.x и Log4j 2.x — это разные проекты. Logback vs Log4j 2.x — оба актуальны; Logback выбирают за Spring Boot default, Log4j 2.x — за async logging на LMAX Disruptor.","","middle",[15],"logging",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Что такое Logback и чем он лучше Log4j? — Gymterview","Logback — фреймворк логирования, созданный автором Log4j (Ceki Gulcu) как его преемник. Является нативной реализацией SLF4J и используется по умолчанию в Spring","Logback — фреймворк логирования, созданный автором Log4j (Ceki Gulcu) как его преемник. Является нативной реализацией SL",[15,13],"Logback — фреймворк логирования, созданный автором Log4j (Ceki Gulcu) как его преемник. Является нативной реализацией SLF4J и используется по умолчанию в Spring Boot.",true]