无法在 DuplicateKeyException 上解析符号 'logger'
Cannot resolve symbol 'logger' on DuplicateKeyException
简而言之:与许多教程不同,对象 "logger" 无法识别。
问题本身不是很严重,我可以轻松解决。然而,看到这个 "logger" 在我的 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);
}
}
将鼠标悬停在记录器上显示“无法解析符号 'logger'
感谢您的帮助。
记录器需要实例化或更好地注入。看来你没有那样做。当您使用某种日志记录框架(如 log4j)时,初始化将如下所示:
static Logger logger = Logger.getLogger(MainApp.class.getName());
当您向我们展示完整内容时 class 我们可以看到更多细节并且可以更好地猜测。
可以找到 log4j 和 spring 的教程 here。
推荐使用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)。
可以参考这里:
确实,我没有正确管理我的进口:
我补充道:
private final Log logger = LogFactory.getLog(TicketDaoImpl.class);
来自
org.apache.commons.logging.Log;
愚蠢的缺乏关注。
我也在看 Baeldung 上 log4j/sl4j 的文档。谢谢^^
简而言之:与许多教程不同,对象 "logger" 无法识别。
问题本身不是很严重,我可以轻松解决。然而,看到这个 "logger" 在我的 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);
}
}
将鼠标悬停在记录器上显示“无法解析符号 'logger' 感谢您的帮助。
记录器需要实例化或更好地注入。看来你没有那样做。当您使用某种日志记录框架(如 log4j)时,初始化将如下所示:
static Logger logger = Logger.getLogger(MainApp.class.getName());
当您向我们展示完整内容时 class 我们可以看到更多细节并且可以更好地猜测。
可以找到 log4j 和 spring 的教程 here。
推荐使用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)。
可以参考这里:
确实,我没有正确管理我的进口:
我补充道:
private final Log logger = LogFactory.getLog(TicketDaoImpl.class);
来自
org.apache.commons.logging.Log;
愚蠢的缺乏关注。
我也在看 Baeldung 上 log4j/sl4j 的文档。谢谢^^