开发出高质量的系统
一、为多个项目指定使用哪个log4j文件情况一:多个小项目合成一个大项目,多个小项目有自己不同的入口,这个时候如果使用同一个log4j文件,各个项目的输出会混乱在一起,如果拆分成多个小项目,看起来又比较散不太好管理。情况二:一个项目实施在linux上,编写在windows上,log4j的输出目录/opt/xxx/web.log这个时候开发者被迫必须在本机的workspace所在的目录加入一个opt/xxx/web.log的目录和文件同时,大多数情况下linux上的服务是不须要输出log到Console,只要输出到文件而windows大部份是只须要输出到console,不须要输出到文件本地调试的时候log4j的级别多是debug ,而实际实施的时候多是之上的级别造成须要不停的修改log4j的属性文件,cvs同步的时候不停的提示也许你说可以整个项目完成再来写log4j的属性文件,但有的时候这个效果并不好。因为还有这种时候,项目完成(包括log),反复测试的这段时间。
解决:解决办法很简单,建立一个log4j的配制文件的目录,在这个目录下为每个小项目建立一个目录,每个目录下放着自己的log4j配制,然後把这些目录作为每个小工程的classpath的第一个,ok上边的问题就解决了。这个时候可以写一个log4j放在src下,用来开发时候调试用,而真正服务器上使用的都在各自的文件夹下
二,为默写包,某些类定义不同的log4j级别是否想过这中需求呢,一个项目调试的时候,希望其中默写包不打出log信息。比如struts的包,spring的包,还有你引用的别人已经开发好包,或者你自己写的类,但是你不想看到这个类的log信息.但是你须要调试当前的一些class,log级别必须设置在debug级别这个时候可以在log4j的属性文件中加入如下内容:log4j.logger.包名or类名=高的级别例如:log4j.logger.org.springframework=error
三、注意事项
是否这么写过呢?这样写是有些问题的。当你把log级别调整到info或者更高的时候,log信息是不输出了但是字符串的拼接一样进行了,使你的程序效率降低,实验一下
调整log4j属性文件级别到info 结果getStr()照样执行了解决办法:
posted on 2006-11-29 17:33 dreamstone 阅读(2876) 评论(1) 编辑 收藏 所属分类: 利器 、片段
请教一下,把这些目录作为每个小工程的classpath的第一个,具体怎么做? 回复 更多评论
Powered by: BlogJava Copyright © dreamstone