public class UserDaoListener implements DaoListener {
private final Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
GeliDao geliDao;
@SuppressWarnings("rawtypes")
@Override
public Class getEntityType() {
return User.class;
}
@Override
public void onEvent(Event event, Object entity) {
User user = (User) entity;
switch (event) {
case PostSelect:
logger.info("passportId: {}, userId: {} nickname:{}", new Object[] {user.getPassportId(), user.getUserId(), user.getNickName()});
if(user.getAccount()!=null){
user.setNickName(user.getAccount().getNickName());
}
geliDao.setCache(CacheKey.PASSPORT_PREFIX +user.getPassportId(), geliDao.object2String(user));
break;
case PostUpdate:
geliDao.deleteCache(CacheKey.PASSPORT_PREFIX +user.getPassportId());
break;
default:
break;
}
}
}
在调用 LoggerFactory.getLogger(getClass())方法时,程序默认会在类路径下加载log4j.properties文件, 如果没有这个文件,虽然程序没有报错,但stderr.log日志输出异常:
[04-09 16:26:24.155] log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
[04-09 16:26:24.156] log4j:WARN Please initialize the log4j system properly.
[04-09 16:26:24.156] log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
[04-09 16:27:10.299] log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
[04-09 16:27:10.299] log4j:WARN Please initialize the log4j system properly.
[04-09 16:27:10.299] log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
具体可以看http://logging.apache.org/log4j/1.2/faq.html#noconfig这里。
log4j.properties的内容如下