NutzCN Logo
问答 nutz中如何打印mongodb的操作语句?
发布于 2939天前 作者 苍蓝猛兽 2680 次浏览 复制 上一个帖子 下一个帖子
标签:

nutz中如何打印mongodb的操作语句?

15 回复

恩,麻烦报个issue


@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操作语句

明白的,跟nutdao输出sql一样

属于功能需求,报个issue,我们会尽快实现

@wendal 卡半天已经提了。。麻烦大神尽快解决哦~~~

@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没有做尝试。

log4j2 也一样啦, mongodb java 走的是slf4j接口

@wendal 试了一下,可以达到9楼的效果了。

想请教一下,这个能否可以达到打印json的效果,类似往oracle插数据时的参数值也会打印。

mongodb java驱动的3.x 已经没有DBApiLayer ,这也是郁闷的地方, 只能在ZMoCo逐一添加日志语句了

添加回复
请先登陆
回到顶部