log4j 自定义输出内容和位置

log4j有两种配置方式,.properties和.xml文件。以Log4j.properties文件为例,以#开头的注释

    log4j.rootLogger指定根logger,是最最重要的一个属性了,它定义日志信息的“输出级别”和“输出目的地”。关键看“=”后面的值,“DEBUG,CONSOLE,A1”这里我们要把它分成两部分:第一个逗号之前的是第一部分,设为OFF可以关闭日志;后面的是第二部分,指定“输出目的地”。可以同时指定多个“输出目的地”,以逗号隔开。具体到上面这一行:它指定的“输出级别”是“DEBUG”;它指定的“输出目的地”是“CONSOLE”和“A1”。  

   “输出级别”有可选的五个值,分别是DEBUG、INFO、WARN、ERROR、FATAL,它们是由Log4j系统定义的。“输出目的地”就是我们自己定义的了,就在log4j.properties的后面部分,此文件定义的“输出目的地”有CONSOLE、FILE、ROLLING_FILE、SOCKET、LF5_APPENDER、MAIL、DATABASE、A1、im。该文件之所以可作主模板,就是因为它比较全面地定义了各种常见的输出目的地(控制台、文件、电子邮件、数据库等)。


# study website http://blog.163.com/zhangjinping_2000/blog/static/219551282009112613724619/


#error logger config
log4j.appender.errorfile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorfile.MaxBackupIndex=365
log4j.appender.errorfile.File = ../logs/seafish-error.log
log4j.appender.errorfile.Threshold = error
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorfile.layout.ConversionPattern=-[%p] %d{yyyy-MM-dd HH:mm:ss,SSS} [%c] %m%n

#visit logger config
log4j.appender.visitfile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.visitfile.MaxBackupIndex=365
log4j.appender.visitfile.File = ../logs/seafish-visit.log
log4j.appender.visitfile.layout=org.apache.log4j.PatternLayout
log4j.appender.visitfile.layout.ConversionPattern=%d{yyyy-MM-dd} %m%n

#stdout logger config
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=-[%p] %d{yyyy-MM-dd HH:mm:ss,SSS} [%c] %m%n


#param is only one. set this package level is error
log4j.logger.com.sf=error
#param is two. set this class level is info and source file is visitfile
log4j.logger.com.custom.logger.Visitlogger=INFO,visitfile
#write the error level info into errorfile;

log4j.rootLogger=error,errorfile


java代码
public class Visitlogger {
   

    // 获取logger的方式,是通过与log4j.properties配置文件模糊匹配的(看这句log4j.logger.com.custom.logger.Visitlogger=INFO,visitfile)
    private static Logger visitLog = Logger.getLogger(Visitlogger.class);
    
    /**
     * 写日志
     * @param loggerName
     * @param info
     */
    public static void writeVisitFile(String info){
        // 统计ip  写入文件中 格式  天 , ip地址, 访问时间。
        visitLog.info(info);
    }
    
}


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值