простое приложение только с основным классом не видит logback.xml

Структура моего проекта:

введите здесь описание изображения

Как видите, я везде пытался разместить logback.xml.

Я хочу настроить уровень информационного журнала для корневого регистратора.

logback.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
            </Pattern>
        </layout>
    </appender>

    <!-- Send logs to both console and file audit -->
    <logger name="kafka_test" level="info">
        <appender-ref ref="STDOUT" />
    </logger>


</configuration>

У меня есть следующий код:

public class Consumer {
    private static final String name = "consumer_1";

    private static Logger logger = LoggerFactory.getLogger(Consumer.class);

    public static void main(String[] args) throws InterruptedException {
        logger.debug("Consumer {} started", name);
        ...

И это печатает

17:51:45.096 [main] DEBUG kafka_test.Consumer - Consumer consumer_1 started

в консоль.

Что я не так?

P.S.

Я попытался напечатать:

    System.out.println(Consumer.class.getClassLoader().getResource("kafka_test/Consumer.class"));

Он печатает:

file:/D:/work/kafka_samples/out/production/classes/kafka_test/Consumer.class

Я поставил logback.xml в

D:\work\kafka_samples\out\production\classes\kafka_test

Но это все еще не работает

Решение:

Я вставил logback.xml в

D:\work\kafka_samples\out\production\classes

person gstackoverflow    schedule 09.10.2017    source источник
comment
поместите logback.xml в путь к классам среды выполнения. Пакет, в котором находится класс, не является путем к классам среды выполнения.   -  person DwB    schedule 09.10.2017
comment
@DwB, можете ли вы уточнить, что означает «путь к классам среды выполнения»?   -  person gstackoverflow    schedule 09.10.2017


Ответы (1)


Вам нужно поместить его на верхний уровень вашего пути к классам. Стандартное расположение проекта maven/gradle — src/main/resources. Gradle/maven включит этот каталог ресурсов в ваш путь к классам (и большинство IDE это тоже понимают).

person Chris    schedule 09.10.2017
comment
Можете ли вы указать точный путь к папке? - person gstackoverflow; 09.10.2017
comment
kafka_samples/src/основной/ресурсы - person Taras Velykyy; 09.10.2017