google-code-export / nutz

Automatically exported from code.google.com/p/nutz
Apache License 2.0
1 stars 1 forks source link

Nutz对LogBack的支持 #322

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
目前只是对Log4j的支持,需要对logback的支持。
另外,日志部分建议采用slf4j来作为入口,方便进行日志切换
。
不引入任何jar包不是目的。

Original issue reported on code.google.com by yeahyf@gmail.com on 17 Nov 2010 at 8:45

GoogleCodeExporter commented 9 years ago
我觉得添加一个slf4j适配器比较靠谱.
LogBack据闻性能好很多.

Original comment by wendal1985@gmail.com on 17 Nov 2010 at 10:09

GoogleCodeExporter commented 9 years ago
Fix in r1676
添加一个Slfj4适配器.

Original comment by wendal1985@gmail.com on 17 Nov 2010 at 12:19

GoogleCodeExporter commented 9 years ago
如果程序员想在项目里利用 Slf4j, 
那么为什么他们不直接使用 Slf4j 呢? 为什么要通过 
Nutz 来中转一下?

Original comment by zozoh...@gmail.com on 17 Nov 2010 at 2:15

GoogleCodeExporter commented 9 years ago
为nutz的log输出找更多的出路

Original comment by wendal1985@gmail.com on 17 Nov 2010 at 11:52

GoogleCodeExporter commented 9 years ago
从源码编译Nutz的guide需要更新下 因为增加了slf4j。 
有2点问题:
1. 不依赖任何jar包的原则是不是有时候限制了自身的发展?
2. 通过判断用户系统中是不是存在log4j等jar包 
来选择log输出器, 
这让我想到了common-logging。会不会减少在log方面你们的开发成
本?

Original comment by kevin.xiaowl@gmail.com on 18 Nov 2010 at 3:12

GoogleCodeExporter commented 9 years ago
@Wendal 
我认为我们的目标是替大家解决编程中的麻烦。增加对 Slf4j 
的支持并没有让我们多解决一些程序员编程时的麻烦,不是��
�?

@Kevin.xiaowl 主要是限制自身的膨胀,我不希望 Nutz 
这也做,那也做

Original comment by zozoh...@gmail.com on 18 Nov 2010 at 5:36

GoogleCodeExporter commented 9 years ago
先抛开Slf4j适配器,单单说日志api,我肯定首选slf4j,因为我喜欢 
logger.info("I am {}","wendal"),比log.info("I am %s","wendal")好看多了

不如这样:
改一下Log4j适配器,canWork()仅要求存在Log4j的Logger类.
好处:
1. 效率更高(废话,逻辑都变少了)
2. 
扩展性更好,不喜欢nutz的日志输出到log4j,喜欢logback或其他啥lo
gging? 加个log4j-over-slf4j
3. 只依赖log4j.
坏处:
1. 
虽然我加了log4j的jar,但其实我是不用的,这时候nutz的log还是往
log4j走了,结果除了log4j的警告信息外,没其他输出. 
(用户的错误,我们也管?)

其他:
那JDK logging适配器,到底有没有人用的啊??

Original comment by wendal1985@gmail.com on 18 Nov 2010 at 6:09

GoogleCodeExporter commented 9 years ago
JDK 的反正我是不用。
对于 Log4j 的 canWork 我没有意见,因为我一直都用 
Log4j,习惯了。

对于 Slf4j, 你即使加了 Slf4j 的适配器, 你写 Log 
的时候还是得 log.info("I am %s","wendal") 吧,如果你想用 
logger.info("I am {}","wendal"),哪么根本没必要用 Nutz 的 Log 
接口,也就不会用到 Nutz Slf4j 的适配器了

因此,我觉得加入 Slf4j 的适配器,没啥用处

Original comment by zozoh...@gmail.com on 18 Nov 2010 at 7:21

GoogleCodeExporter commented 9 years ago
OK,那就这样改了.

Original comment by wendal1985@gmail.com on 18 Nov 2010 at 7:23

GoogleCodeExporter commented 9 years ago
Fix in r1678.

修改了Log4j适配器.移除了JDK logging适配器.
顺便修复Log4j适配器的一个bug.

Original comment by wendal1985@gmail.com on 18 Nov 2010 at 7:41

GoogleCodeExporter commented 9 years ago
我获取最新的代码(11月23日上午版本)在本地进行单元测试�
��在测试结束的时候,每次都会输出:!!You are using default 
SystemLog! Don't use it in Production 
environment!!,这是系统默认的日志对象输出的提示信息,我分�
��使用log4j和slf4j+logback进行了测试。
按照系统的设计,已经有了log4j等日志组件,为什么还是会去
调用默认的日志对象呢?

Original comment by yeahyf@gmail.com on 23 Nov 2010 at 5:26

GoogleCodeExporter commented 9 years ago
那个是测试 SystemLogAdapter 的输出
它一定会使用 SystemLogAdapter 的
只要使用,就一定会报出这么一句警告

Original comment by zozoh...@gmail.com on 23 Nov 2010 at 6:56