博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nutch的日志系统
阅读量:5066 次
发布时间:2019-06-12

本文共 3863 字,大约阅读时间需要 12 分钟。

一、Nutch日志实现方式

1、Nutch使用slf4j作为日志接口,使用log4j作为具体实现。关于二者的基础,请参考

http://blog.csdn.net/jediael_lu/article/details/43854571

http://blog.csdn.net/jediael_lu/article/details/43865571

2、在java类文件中,通过以下方式输出日志消息:

(1)获取Logger对象

public static final Logger LOG = LoggerFactory.getLogger(InjectorJob.class);
(2)使用Logger进行输出

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    long start = System.currentTimeMillis();    LOG.info("InjectorJob: starting at " + sdf.format(start));

3、在log4j.properties中定义各个属性

# Define some default values that can be overridden by system propertieshadoop.log.dir=.hadoop.log.file=hadoop.log# RootLogger - DailyRollingFileAppenderlog4j.rootLogger=INFO,DRFA# Logging Thresholdlog4j.threshold=ALL#special logging requirements for some commandline toolslog4j.logger.org.apache.nutch.crawl.Crawl=INFO,cmdstdoutlog4j.logger.org.apache.nutch.crawl.InjectorJob=INFO,cmdstdoutlog4j.logger.org.apache.nutch.host.HostInjectorJob=INFO,cmdstdoutlog4j.logger.org.apache.nutch.crawl.GeneratorJob=INFO,cmdstdoutlog4j.logger.org.apache.nutch.crawl.DbUpdaterJob=INFO,cmdstdoutlog4j.logger.org.apache.nutch.host.HostDbUpdateJob=INFO,cmdstdoutlog4j.logger.org.apache.nutch.fetcher.FetcherJob=INFO,cmdstdoutlog4j.logger.org.apache.nutch.parse.ParserJob=INFO,cmdstdoutlog4j.logger.org.apache.nutch.indexer.IndexingJob=INFO,cmdstdoutlog4j.logger.org.apache.nutch.indexer.DeleteDuplicates=INFO,cmdstdoutlog4j.logger.org.apache.nutch.indexer.CleaningJob=INFO,cmdstdoutlog4j.logger.org.apache.nutch.crawl.WebTableReader=INFO,cmdstdoutlog4j.logger.org.apache.nutch.host.HostDbReader=INFO,cmdstdoutlog4j.logger.org.apache.nutch.parse.ParserChecker=INFO,cmdstdoutlog4j.logger.org.apache.nutch.indexer.IndexingFiltersChecker=INFO,cmdstdoutlog4j.logger.org.apache.nutch.plugin.PluginRepository=WARNlog4j.logger.org.apache.nutch.api.NutchServer=INFO,cmdstdoutlog4j.logger.org.apache.nutch=INFOlog4j.logger.org.apache.hadoop=WARNlog4j.logger.org.apache.zookeeper=WARNlog4j.logger.org.apache.gora=WARN## Daily Rolling File Appender#log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.DRFA.File=${hadoop.log.dir}/${hadoop.log.file}# Rollver at midnightlog4j.appender.DRFA.DatePattern=.yyyy-MM-dd# 30-day backup#log4j.appender.DRFA.MaxBackupIndex=30log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout# Pattern format: Date LogLevel LoggerName LogMessagelog4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} - %m%n# Debugging Pattern format: Date LogLevel LoggerName (FileName:MethodName:LineNo) LogMessage#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n## stdout# Add *stdout* to rootlogger above if you want to use this #log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n## plain layout used for commandline tools to output to console#log4j.appender.cmdstdout=org.apache.log4j.ConsoleAppenderlog4j.appender.cmdstdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.cmdstdout.layout.ConversionPattern=%m%n## Rolling File Appender##log4j.appender.RFA=org.apache.log4j.RollingFileAppender#log4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file}# Logfile size and and 30-day backups#log4j.appender.RFA.MaxFileSize=1MB#log4j.appender.RFA.MaxBackupIndex=30#log4j.appender.RFA.layout=org.apache.log4j.PatternLayout#log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} - %m%n#log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
二、Nutch日志分析

1、nutch日志输出有2个appender: cmdstdout 与 DRFA。

前者将日志输出至标准输出中,后者将文件输出到每日一个的日志文件中。

2、整个工程的默认日志设置为INFO, DRFA

而nutch自身的日志被重定义为INFO,cmdstdout

hadoop, gora, zookeeper等则重定义为WARN,DRFA, 默认日志为./hadoop.log

转载于:https://www.cnblogs.com/eaglegeek/p/4557819.html

你可能感兴趣的文章
F# 编程 借助 F# 构建 MVVM 应用程序
查看>>
ACFUN切换代码自用。。。
查看>>
网卡流量检测.py
查看>>
【转】Android的权限permission
查看>>
ajax
查看>>
poj1981 Circle and Points 单位圆覆盖问题
查看>>
POP的Stroke动画
查看>>
线程同步机制初识 【转载】
查看>>
Oracle 游标使用全解
查看>>
SQL语句在查询分析器中可以执行,代码中不能执行
查看>>
yii 1.x 添加 rules 验证url数组
查看>>
html+css 布局篇
查看>>
银行排队问题(详解队列)
查看>>
序列化和反序列化(1)---[Serializable]
查看>>
SQL优化
查看>>
用C语言操纵Mysql
查看>>
轻松学MVC4.0–6 MVC的执行流程
查看>>
4.9 Parser Generators
查看>>
redis集群如何清理前缀相同的key
查看>>
redis7--hash set的操作
查看>>