日志规范
1.在一个对象中通常只使用一个Logger对象。
2.Logger应该是Static和final的。
3.不允许出现System print(包括System.out.println和System.error.println)语句。
4.不允许出现printStackTrace,例如
class Foo {
void bar() {
try {
// do something
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class Main {
private static final Log _LOG = LogFactory.getLog( Main.class );
void bar() {
try {
}
catch( Exception e ) {
_LOG.error( e ); //错误
_LOG.error(e.getMessage()) //错误
} catch( OtherException oe ) {
_LOG.error( oe.getMessage(), oe ); //正确
}
}
}
@ResponseBody
@RequestMapping(value = "search", method = RequestMethod.POST)
public DataTable search(HttpServletRequest request, String acquirerId,String channelName,String providerId) {
logger.info("entering ChannelController search, with parameter acquirerId [{}], channelName [{}], providerId [{}]", acquirerId, channelName, providerId );
Pagination<ChannelVO> pagination = null;
int pageNum = getPageNum();
int pageSize = getPageSize();
ChannelBean filterBean = new ChannelBean();
filterBean.setAcquirerId(acquirerId);
filterBean.setChannelName(channelName);
filterBean.setChannelProviderId(providerId);
filterBean.setIsdelete(0);
pagination = POJOBuilder.copyProperties(ChannelVO.class,
channelService.retrieveBy(filterBean, pageNum, pageSize));
logger.info("leaving ChannelController search");
return createDataTalbe(pagination, request);
}
7.不要在日志中调用toString方法