Не удается разрешить символ 'logger' в DuplicateKeyException - PullRequest
0 голосов
/ 29 мая 2019

Короче говоря: объект "регистратор" не распознается в отличие от многих учебных пособий.

Проблема сама по себе не очень серьезна, и я легко могу ее обойти. Однако очень печально видеть, что этот «регистратор» остается красным в моем редакторе intellIj. Я просматриваю документы и блоги и не вижу, в чем проблема.

Мой фрагмент:

@Override
public void insertTicketStatut(TicketStatut pTicketStatut) {
    String vSQL = "INSERT INTO statut {id, libelle} VALUES {:id, :libelle}";

    BeanPropertySqlParameterSource vParams = new BeanPropertySqlParameterSource(pTicketStatut);
    NamedParameterJdbcTemplate vJdbcTemplate = new NamedParameterJdbcTemplate(getDataSource());

    try {
        vJdbcTemplate.update(vSQL, vParams);
    } catch (DuplicateKeyException pE){
        logger.error("Le TicketStatut existe déjà ! id="+ pTicketStatut.getId(),pE);
    }
}

При наведении курсора на журнал отображается «Не удается разрешить символ« журнал ». Спасибо за вашу помощь.

Ответы [ 3 ]

2 голосов
/ 29 мая 2019

Рекомендовать использовать sl4j

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Затем создать экземпляр:

//generic way to declare logger to be able to copy/paste to other classes
//without changing the class name
private final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());

В зависимости включить привязку для реализации sl4j (может быть log4j).

Может ссылатьсяздесь:

logging with-slf4j

1 голос
/ 29 мая 2019

Регистратор должен быть либо создан, либо лучше внедрен. Кажется, ты этого не делал. Когда вы используете какой-то каркас журналирования, такой как log4j, инициализация будет выглядеть так:

static Logger logger = Logger.getLogger(MainApp.class.getName());

Когда вы показываете нам весь класс, мы можем видеть больше деталей и лучше угадывать.

Учебник для log4j и пружины можно найти здесь .

0 голосов
/ 29 мая 2019

Действительно, я не справился со своим импортом должным образом:

Я добавил:

    private final Log logger = LogFactory.getLog(TicketDaoImpl.class);

из

org.apache.commons.logging.Log;

Глупое отсутствие внимания.

Я также смотрю на документ из log4j / sl4j на Baeldung.Спасибо ^^

...