package com.cloudera.flume.handlers.log4j;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public static void usage() {
System.out
.println("need to specify <log4jprop file> <# of messages> message");
}
public static void main(String argv[]) {
if (argv.length < 2) {
usage();
System.exit(-1);
}
boolean endless = false;
boolean randsleep = false;
long sleep = 0;
String props = null;
long iters = 100;
StringBuffer b = new StringBuffer();
for (int j = 0; j < argv.length; j++) {
if ("-endless".equals(argv[j])) {
endless = true;
continue;
}
if ("-sleep".equals(argv[j])) {
j++;
sleep = Long.parseLong(argv[j]);
continue;
}
if ("-randsleep".equals(argv[j])) {
randsleep = true;
continue;
}
props = argv[j];
j++;
iters = Long.parseLong(argv[j]);
j++;
boolean first = true;
for (int i = j; i < argv.length; i++) {
if (!first) {
b.append(' ');
}
b.append(argv[i]);
first = false;
}
break;
}
PropertyConfigurator.configure(props);
Logger logger = Logger.getLogger(Log4JInjector.class);
for (long l = 0; l < iters || endless; l++) {
try {
long thisSleep = (long) ((double) sleep * (double) (randsleep ? Math
.random() : 1));
Thread.sleep(thisSleep);
} catch (InterruptedException e) {
e.printStackTrace();
}
logger.warn("" + l + " " + b);
}
}
}