Skip to content

Commit

Permalink
Add -logger option, to specify name of appender to use
Browse files Browse the repository at this point in the history
(console or DRFA currently).

Use inline layout when setting up loop directory logging,
versus relying on "console" appender that might not have
been set up, depending on which log4j.properties file
got used.
  • Loading branch information
Ken Krugler committed Dec 4, 2009
1 parent 20a81f6 commit 0e32a07
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 7 deletions.
15 changes: 10 additions & 5 deletions src/main/java/bixo/tools/SimpleCrawlTool.java
Expand Up @@ -9,6 +9,7 @@
import org.apache.hadoop.mapred.JobConf;
import org.apache.log4j.FileAppender;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;

Expand Down Expand Up @@ -100,14 +101,13 @@ private static void setLoopLoggerFile(String outputDirName, int loopNumber) {
Logger rootLogger = Logger.getRootLogger();

String filename = String.format("%s/%d-SiteCrawlTool.log", outputDirName, loopNumber);
FileAppender appender = (FileAppender) rootLogger.getAppender("loop-logger");
FileAppender appender = (FileAppender)rootLogger.getAppender("loop-logger");
if (appender == null) {
appender = new FileAppender();
appender.setName("loop-logger");
appender.setLayout(rootLogger.getAppender("console").getLayout());

// We have to do this before calling addAppender, as otherwise Log4J
// warns us.
appender.setLayout(new PatternLayout("%d{yy/MM/dd HH:mm:ss} %p %c{2}:%L - %m%n"));

// We have to do this before calling addAppender, as otherwise Log4J warns us.
appender.setFile(filename);
appender.activateOptions();
rootLogger.addAppender(appender);
Expand Down Expand Up @@ -147,6 +147,11 @@ public static void main(String[] args) {
System.setProperty("bixo.root.level", "INFO");
}

if (options.getLoggingAppender() != null) {
// Set console vs. DRFA vs. something else
System.setProperty("bixo.appender", options.getLoggingAppender());
}

try {
JobConf conf = new JobConf();
Path outputPath = new Path(outputDirName);
Expand Down
14 changes: 12 additions & 2 deletions src/main/java/bixo/tools/SimpleCrawlToolOptions.java
Expand Up @@ -10,6 +10,7 @@ public class SimpleCrawlToolOptions {
private static final int DEFAULT_NUM_LOOPS = 1;

private boolean _debugLogging = false;
private String _loggingAppender = null;

private String _outputDir;
private String _agentName;
Expand All @@ -19,17 +20,22 @@ public class SimpleCrawlToolOptions {
private int _maxThreads = DEFAULT_MAX_THREADS;
private int _numLoops = DEFAULT_NUM_LOOPS;


@Option(name = "-domain", usage = "domain to crawl (e.g. cnn.com)", required = true)
public void setDomain(String domain) {
_domain = domain;
}

@Option(name = "-d", usage = "debug logging", required = false)
public void setDebugLogging(boolean debugLogging) {
this._debugLogging = debugLogging;
_debugLogging = debugLogging;
}

@Option(name = "-logger", usage = "set logging appender (console, DRFA)", required = false)
public void setLoggingAppender(String loggingAppender) {
_loggingAppender = loggingAppender;
}

@Option(name = "-outputdir", usage = "output directory", required = true)
public void setOutputDir(String outputDir) {
_outputDir = outputDir;
Expand Down Expand Up @@ -83,6 +89,10 @@ public boolean isDebugLogging() {
return _debugLogging;
}

public String getLoggingAppender() {
return _loggingAppender;
}

@Override
public String toString() {
return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
Expand Down

0 comments on commit 0e32a07

Please sign in to comment.