Log4j 输出日志可以输出到文件甚至是邮件中,但就是无法输出到控制台中,不甘心,研究了俩小时,搞懂了

先输出属性文件  log4j.properties

 ### set log levels ###
log4j.rootLogger =   MAIL,error,info,CONSOLE
### Console ###
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target = System.out
log4j.appender.Threshold=TRACE
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern =  [%d{yyyy-MM-dd HH:mm:ss}] [%p] [%c:%L] %m%n

### File ###
log4j.logger.info = info
log4j.appender.info = org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.File = log/info/info-
log4j.appender.info.DatePattern=yyyy-MM-dd-HH-mm'.log'
log4j.appender.info.Append = true
log4j.appender.info.Threshold = INFO 
log4j.appender.info.layout = org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern = [%d{yyyy-MM-dd HH:mm:ss}] [%p] [%c:%L] %m%n

### Error ###
log4j.logger.error = error
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.File = log/error/error-
log4j.appender.error.DatePattern=yyyy-MM-dd-HH-mm'.log'
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR 
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

## mail
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=FATAL
log4j.appender.MAIL.BufferSize=1
log4j.appender.MAIL.From=XXX1@qq.com
log4j.appender.MAIL.SMTPUsername=XXX1@qq.com
log4j.appender.MAIL.SMTPHost=smtp.qq.com
log4j.appender.MAIL.SMTPPassword=abnpugdfsgfhdfgptauwgmieja
log4j.appender.MAIL.Subject=Log4J Message
log4j.appender.MAIL.SMTPPort=587
log4j.appender.MAIL.To=XXX2@qq.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[productname][%-5p][%t] %d{yyyy-MM-dd HH\:mm\:ss\:SSS}-%-4r%c %x%L| %m%n

 

 

主函数输出

 

Logger log=Logger.getLogger(getlog.class);
        log.debug("输出到控制台!");
        log.info("warn!!!"); 
        log.error("输入error消息");
        //log.fatal("通过log4j发送邮件测试"); 

 

 

结论:  之所以无法再控制台输出,主要是红色标记部分 要按照从高到底输出

FATAL、ERROR、WARN、INFO、DEBUG、TRACE

FATAL对应邮件,是最高级别

Error 次之。。。。。

所以      log4j.rootLogger =   MAIL,error,info,CONSOLE

的顺序是Mail最前面,console最后面

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值