Nutz 1.a.19 发布

已查看 1 次
跳至第一个未读帖子

zozoh

未读,
2009年11月19日 03:18:342009/11/19
收件人 nutzam
在 1.a.18 的基础上做了一个小修改。

> @At("jsp") 对应到 WEB-INF 目录下,而不是网站根目录
> 将 Castors 的部分代码提炼出来, org.nutz.lang.util.Resources
> 增加了一点小注释,以及微小的类名上的调整

---------------------------------------------------
[文档]
Ioc, Mvc, Dao 三个部分的文档已经完成

---------------------------------------------------
[下一步]
会增加 Log 的支持,并且为 Ioc, Mvc, Dao 主要的逻辑添加日志追踪
> 你可以使用 Log4j
> 你也可以使用 Java Logging

Wendal Chen

未读,
2009年11月19日 03:21:112009/11/19
收件人 nut...@googlegroups.com
hoho!!!

欢呼一下! 今天也是19哦....


Log 我建议做一个slf4j兼容层.

2009/11/19 zozoh <zozo...@gmail.com>:

Peter Zhang

未读,
2009年11月19日 03:25:342009/11/19
收件人 nutzam
sunonfire 已经写完了,在 nutzlab 里:

我们当然可以为 slf4j 增加兼容,是吧 Sunonfire.

=======================================================
from Peter Zhang <zozo...@gmail.com>
to 刘阳 <suno...@gmail.com>
date Tue, Nov 17, 2009 at 5:40 PM
subject About the Log
mailed-by gmail.com
hide details Nov 17 (2 days ago)
我觉得这个实现,基本达到了你预想的目的,比我想想要效率高。因为 isInfoEnabled() 每次调用,都直接返回。
我觉得这个 Log 实现是有意义的,完全可以应用到有生产环境中。

1. Log4jAdapter.initLevelStuff 这种实现方式,我觉得长函数也不错,因为代码虽然冗余,但是效率是最高的。 而这里效率是第一位的
2. 虽然我想,写一个通用的反射 LogAdaptor 能一劳永逸,但是会增加其他人的学习曲线, 所以可能意义并不大

总之,我觉得这个代码实现的很完美了,基本没什么可以改进的了。

下面,我们需要一个列表,展示出 Nutz 在哪个地方需要添加 Log

我先抛砖引玉:

Dao:
> DEBUG: NutDao.public void execute(final Sql... sqls)
> INFO : NutDao.checkDatabase()
> INFO : EntityHolder.getEntity(Class<T> klass, DatabaseMeta meta)

Ioc:
> INFO: NutIoc.addValueProxyMaker(ValueProxyMaker vpm)
> DEBUG: NutIoc.get(Class<T> type, String name, IocContext context)
> DEBUG: ObjectMakerImpl.make(IocMaking ing, IocObject iobj)

Mvc:
> INFO : NutServlet.init
> INFO : NutServlet.destroy
> INFO : NutServlet.service(HttpServletRequest req, HttpServletResponse resp)
> INFO : UrlMapImpl.add(List<ViewMaker> makers, Class<?> moduleType)

这些函数被调用时,需要添加至少一条 Log 信息
===================================================================


2009/11/19 Wendal Chen <wenda...@gmail.com>



--
    Best Regard

zozoh @ 2009
-----------------------------------------

bird.wyatt

未读,
2009年11月19日 03:26:352009/11/19
收件人 nutzam
Congratulations~~~
 
 
2009-11-19

bird.wyatt

发件人: Wendal Chen
发送时间: 2009-11-19  16:21:15
收件人: nutzam
抄送:
主题: [Nutz:469] Re: Nutz 1.a.19 发布

Young Liu

未读,
2009年11月19日 05:42:592009/11/19
收件人 nut...@googlegroups.com
  我们当然可以支持slf4j,不过...   “为什么呢?”
 
  我理解slf4j和apache的apache common logging一样,是对各种log实现库的一个封装。nutz log也是这样一个定位。那么为什么程序员需要通过nutz log调用slf4j,最终通过log4j输出log呢? 我觉得这样做没什么好处啊。当然如果有什么我没想到的好处,添加支持是很容易的。

  其实如果程序员喜欢slf4j,在"使用nutz的项目"中直接使用slf4j没什么问题。(不过虽然同为api封装,slf4j确实支持apache common log,我没想明白为啥)

  顺便说说nutz log吧。其实本来实现log功能的开源项目已经很多了,那么我们为什么还要在nutz中添加log功能的实现呢?出于几个考虑:
 
  1. nutz努力不依赖任何jar。我们希望尽最大努力减少程序员配置部署的工作量。所以我们没用slf4j或apache common logging。
  2. 本质上说,nutz log也是和slf4j或common logging一样的对各式log实现提供的一个统一api接口。但其他两个库在使用的时候除了配置相应的log库还需要人工的指定实际工作的log实现(例如在slf4j中,如果你需要使用log4j就需要放个slf4j-log4j12-1.5.9.RC1.jar进来);nutz log用了另一个办法避免了这个工作:只要你配置了相应的配置文件,nutz log就会使用相应的log库(比如你想用log4j,那么你只需要把log4j配置好就可以)。
  3. 程序中写log有时候挺不爽的。我们也在讨论有没有什么更好的办法让程序员减少一些这方面的工作,比如通过anotation什么的...
  4. slf4j和apache common log都包括一个simple log,就是他们自己的log实现。nutz log还没有,因为我们还没想到如何超越他们。呵呵。





2009/11/19 Peter Zhang <zozo...@gmail.com>

matt wen

未读,
2009年11月19日 05:47:542009/11/19
收件人 nut...@googlegroups.com
作为本论坛的管理人员,我插话一句。
感谢大家对nutz的支持,对zozoh的支持,尤其是对他自恋情节的包容。
 
插话完毕。
 
大家继续。

2009/11/19 zozoh <zozo...@gmail.com>

Peter Zhang

未读,
2009年11月19日 05:59:192009/11/19
收件人 nut...@googlegroups.com
@Young 我还以为slf4j 是另外一种 Log 的配置方式呢 .........

@Wendal 如果是这样,似乎就没有支持 slf4j 的必要了

@Matt, 我又检查了一下, 你似乎没有管理员权限 ......

2009/11/19 matt wen <wenj...@gmail.com>
回复全部
回复作者
转发
0 个新帖子