nutz中如何打印mongodb的操作语句?
15 回复
@IocBean
public class UserService {
// 按需注入几个核心对象
@Inject
protected ZMongo zMongo; // 注意大小写与配置的名字一致
@Inject
protected ZMoDB zMoDB; // 当前
@Inject
ZMoCo zMoCo;
public void insertTomcat(Tomcat... tomcats) {
// 切换集合
zMoDB.getNativeDB().getCollection("tomcat").insert(ZMo.me().toDocArray(tomcats));
}
public List<Tomcat> query() {
List<Tomcat> list = new ArrayList<Tomcat>();
DBCursor cursor = zMoDB.getNativeDB().getCollection("tomcat").find();
while (cursor.hasNext()) {
DBObject obj = cursor.next();
list.add(ZMo.me().fromDocToObj(obj, Tomcat.class));
}
return list;
}
}
static {
System.setProperty("log4j.configurationFile", "etc/log4j2.xml");
}
private static final Logger LOGGER = LogManager.getLogger(UserService.class);
public static Ioc ioc = IocMaster.getInstance();
public static void main(String[] args) {
UserService userService = ioc.get(UserService.class);
Tomcat tomcat1 = new Tomcat();
Tomcat tomcat2 = new Tomcat();
tomcat1.setId("33");
tomcat2.setId("44");
List<Tomcat> list = new ArrayList<Tomcat>();
list.add(tomcat1);
list.add(tomcat2);
userService.insertTomcat((Tomcat[]) list.toArray(new Tomcat[list.size()]));
List<Tomcat> userList = userService.query();
for (Tomcat t : userList) {
LOGGER.info(t.toString());
}
}
main方法中有insert和query方法,想达到的效果是日志中打印出nosql的insert和find操作语句
@wendal 看下2楼
@wendal 卡半天已经提了。。麻烦大神尽快解决哦~~~
倒是有个临时方案,驱动本身能输出debug信息
http://stackoverflow.com/questions/9545341/configure-logging-for-the-mongodb-java-driver
@wendal 这个方案使用了一下,并没有达到想要的结果,没啥区别。
我测试了一下, 其实可以的
首先,需要添加slf4j依赖, 这里以slf4j-log4j12为例
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
然后, log4j.properties这样
log4j.logger.org.mongodb.driver=debug
输出
Sending command {find : BsonString{value='obj'}} to database walnut on connection [connectionId{localValue:2, serverValue:15}] to server localhost:27017
@wendal 项目使用的log4j2,所以log4j1没有做尝试。
@wendal 试了一下,可以达到9楼的效果了。
想请教一下,这个能否可以达到打印json的效果,类似往oracle插数据时的参数值也会打印。
@wendal http://blog.csdn.net/coolcaosj/article/details/23566621
这个例子中,可以打印。在spring中添加了配置。
@wendal 目前解决了吗?
添加回复
请先登陆