Log4j, не создается файл для логирования
Вот простой пример вызова логера для демонстрации
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@WebServlet(LOGIN_PATH)
public class LoginServlet extends HttpServlet {
static final Logger logger = LoggerFactory.getLogger(LoginServlet.class);
public static final String ERROR_ATTRIBUTE = "error";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
logger.info("Example log from {}", LoginServlet.class.getSimpleName());
logger.error("Example log from {}", LoginServlet.class.getSimpleName());
logger.debug("Example log from {}", LoginServlet.class.getSimpleName());
logger.warn("Example log from {}", LoginServlet.class.getSimpleName());
req.getRequestDispatcher(LOGIN_VIEW).forward(req, resp);
}
}
Для конфигурации я создал log4j.properties в папке resources
# Logger option
log4j.rootLogger = TRACE, console, file
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.layout = org.apache.log4j.EnhancedPatternLayout
log4j.appender.console.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%X{CorrelationId}] %-5p %X{method} %X{uri} %c{1} - %m%n
# console is set to be a ConsoleAppender.
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File = D:\\log\\logging.log
log4j.appender.file.MaxFileSize = 10MB
log4j.appender.file.MaxBackupIndex = 10
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%X{CorrelationId}] %-5p %X{method} %X{uri} %c{1} - %m%n
Вот мои зависимости, которые связаны с логированием, в pom xml.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
Проблема в том, что файл не создается, я вижу только такой вывод в консоли

Ответы (1 шт):
Автор решения: Roman C
→ Ссылка
Файлы не могут создаваться если неверно указан путь.
log4j.appender.file.File = log/logging.log
Теперь файл будет создаваться в папке log, относительно текущей папки.
Вот так будет понятнее
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=log/logging.log
log4j.appender.file.MaxFileSize = 10MB
log4j.appender.file.MaxBackupIndex = 10
log4j.appender.file.threshold=TRACE
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=line:%L - [%-2p][%d{yyyy-MM-dd HH:mm:ss}] [%t] %c{5}.%M.%F.%M: - %m%n