如何通过@Cacheable 注解记录缓存命中?
How to log cache hits through @Cacheable annotation?
class 中有一个方法如下所示:
@Override
@Transactional
@Cacheable(value = "products", key = "#id")
public Product getProduct(long id) throws ApplicationException {
Product product = null;
try {
ProductEntity productEntity = productDAO.getProduct(id);
product = productTransformer.toProduct(productEntity);
} catch (SystemException ex) {
throw new ApplicationException(ex.getCode(), ex.getMessage(), "Problem in DataLayer", "Data Layer Error",
new Object[] { ex });
}
return product;
}
应用程序运行良好。但是我想在数据放入缓存时有一个缓存命中日志。我想通过log4j.properties.
登录
如何配置 application.properties 以便记录?
Spring 在 TRACE 级别内部记录其缓存工作流。要启用此功能,请在您的 application.properties 文件中包含以下内容。
logging.level.org.springframework.cache=TRACE
包括以下内容应该有所帮助:
logging.level.org.springframework.cache=TRACE
class 中有一个方法如下所示:
@Override
@Transactional
@Cacheable(value = "products", key = "#id")
public Product getProduct(long id) throws ApplicationException {
Product product = null;
try {
ProductEntity productEntity = productDAO.getProduct(id);
product = productTransformer.toProduct(productEntity);
} catch (SystemException ex) {
throw new ApplicationException(ex.getCode(), ex.getMessage(), "Problem in DataLayer", "Data Layer Error",
new Object[] { ex });
}
return product;
}
应用程序运行良好。但是我想在数据放入缓存时有一个缓存命中日志。我想通过log4j.properties.
登录如何配置 application.properties 以便记录?
Spring 在 TRACE 级别内部记录其缓存工作流。要启用此功能,请在您的 application.properties 文件中包含以下内容。
logging.level.org.springframework.cache=TRACE
包括以下内容应该有所帮助:
logging.level.org.springframework.cache=TRACE