|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net就不一样了,保持微软的一向风格,源代码不公开
在Log4J中存在几个观点起首先容一下,最最主要的两个是Logger和Appender(请参考Log4J手册),实际上是承继条理和输入把持。
起首Log4J中老是存在一个rootLogger,即便没有显现设置也是存在的,而且默许输入级别为DEBUG。
别的的logger都承继自这个rootLogger(假如其他logger未独自界说其输入级别)。
Log4J中的条理是用.来分开的,如log4j.logger.com.example.test,这里并非说log4j.logger前面必定是详细的包名以致类名,
这个称号能够自界说,我们乃至能够界说一个log4j.logger.A.B.C,在com.example.test中的类里取称号为A.B的logger,如
Loggerlogger=Logger.getLogger("A.B")
上例中我们创建了3个logger实例,它们分离是"A"、"A.B"、"A.B.C"。每次我们在体系中获得logger时,其实不是新建实例,这些实例是
体系启动的时分就依照设置文件初始化好的(也大概时第一次援用的时分建立的,然后缓存实在例供今后利用,这部分还没偶然间研讨)。
限定appender叠加性
例1:
log4j.rootLogger=DEBUG,Console
log4j.logger.A=DEBUG,Console
log4j.logger.A.B=INFO,Console
关于loggerA.B输入的任何日记会往把持台输入三次,缘故原由是A.B承继A的以及A的父logger的一切appender,
这类承继干系仅仅是把父logger的appender增加到本人的appender列表中,父logger的输入level不会影响
子logger的输入。
例2:限定appender叠加
log4j.rootLogger=DEBUG,Console
log4j.logger.A=DEBUG,Console
log4j.logger.A.B=INFO,Console
log4j.additivity.A.B=false
loggerA.B的日记仅会输入到本人Console中,不会承继任何父logger的appender。
把持appender的输入级别
若想对输入到appender中的日记级别举行限定的话,就必要用到threshold来把持。
log4j.threshold=ERROR用来把持一切的appender,即输入到一切appender的日记,
不论本来是甚么级其余,都不克不及低于threshold所划定的级别。
log4j.appender.Console.threshold=ERROR用来把持指定的appender的输入级别。
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,netBeans等等,但是我认为如果java想超越.net,那么他首先要解决的就是IDE工具的整合。 |
|