log4j继承问题 log4j控制台 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 log4j只会最简单的配置,不太方便。可以试试Logback(Log4J的升级版,同一个人开发的),配置挺简单的,实现你的这个要求也很简单,修改一行配置就能实现。 log4j.rootLogger=INFO,SYS,stdout 去掉这里的SYS和后面SYS的配置 你在输出日志的代码那里用的是什么级别?你的FLOW定义为DEBUG级别,那么你企图输出的日志必须大于这个级别才能生效,such as logger.debug() 或者 logger.error()。 谢谢!我知道怎么配了。log4j.rootLogger=DEBUG,stdoutlog4j.logger.SYS=DEBUG,SYSlog4j.logger.FLOW=DEBUG,FLOWlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Threshold = DEBUGlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=[%d][%p][%F:%L]%m%nlog4j.appender.SYS=org.apache.log4j.DailyRollingFileAppender#log4j.appender.SYS.Threshold = DEBUGlog4j.appender.SYS.file=../log/sys.loglog4j.appender.SYS.DatePattern='.'yyyy-MM-ddlog4j.appender.SYS.layout=org.apache.log4j.PatternLayout log4j.appender.SYS.layout.ConversionPattern=[%t][%d][%p][%F:%L]%m%nlog4j.appender.FLOW=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.FLOW.file=../log/flow.loglog4j.appender.FLOW.DatePattern='.'yyyy-MM-ddlog4j.appender.FLOW.layout=org.apache.log4j.PatternLayout log4j.appender.FLOW.layout.ConversionPattern=%d|%m%n这样就可以了,Logger.getLogger(ClassNamexxx.class)这样的就只输出控制台,Logger.getLogger(”SYS“)这样的输出控制台又输出日志文件,Logger.getLogger(”FLOW“)也是只输出控制台又输出到flow文件。就是flow,sys共同继承stdout,所以两者的输出也会输出到stdout。如果不想继承父log也可以通过配置log4j.additivity.FLOW=false,这样FLOW日志只会输出到文件,不会输出到终端了。 这几种for循环遍历,有什么异同(性能,安全方面) 欢迎爱好java一起交流 servlet调用出错 看看做这个网站要多少钱 XFire引擎下web service自定义类型的获取? 整型数组问题 Structs 关于JSP业面CHECK的问题 火车时刻表Web Service (WSDL)问题 jboss3.2.3+Oracle对Sequence的支持的使用问题 我要骂人了,jbuilder6对ejb2.0的支持,什么玩意??? 除了CSDN,还有哪些程序员的论坛? 在三层架构DAL层多次开启和关闭Connection对象好吗?
可以试试Logback(Log4J的升级版,同一个人开发的),配置挺简单的,实现你的这个要求也很简单,修改一行配置就能实现。
log4j.logger.SYS=DEBUG,SYS
log4j.logger.FLOW=DEBUG,FLOWlog4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d][%p][%F:%L]%m%nlog4j.appender.SYS=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.SYS.Threshold = DEBUG
log4j.appender.SYS.file=../log/sys.log
log4j.appender.SYS.DatePattern='.'yyyy-MM-dd
log4j.appender.SYS.layout=org.apache.log4j.PatternLayout
log4j.appender.SYS.layout.ConversionPattern=[%t][%d][%p][%F:%L]%m%nlog4j.appender.FLOW=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FLOW.file=../log/flow.log
log4j.appender.FLOW.DatePattern='.'yyyy-MM-dd
log4j.appender.FLOW.layout=org.apache.log4j.PatternLayout
log4j.appender.FLOW.layout.ConversionPattern=%d|%m%n这样就可以了,Logger.getLogger(ClassNamexxx.class)这样的就只输出控制台,Logger.getLogger(”SYS“)这样的输出控制台又输出日志文件,Logger.getLogger(”FLOW“)也是只输出控制台又输出到flow文件。就是flow,sys共同继承stdout,所以两者的输出也会输出到stdout。如果不想继承父log也可以通过配置log4j.additivity.FLOW=false,这样FLOW日志只会输出到文件,不会输出到终端了。