Logging improvements (debugwatcher option).

This commit is contained in:
didfet
2015-06-07 22:13:05 +02:00
parent a9b7c96178
commit a5f884c44f
2 changed files with 24 additions and 8 deletions

View File

@@ -49,6 +49,7 @@ public class FileWatcher {
public FileWatcher() { public FileWatcher() {
try { try {
logger.debug("Loading saved states");
savedStates = Registrar.readStateFromJson(); savedStates = Registrar.readStateFromJson();
} catch(Exception e) { } catch(Exception e) {
logger.warn("Could not load saved states : " + e.getMessage()); logger.warn("Could not load saved states : " + e.getMessage());
@@ -59,6 +60,7 @@ public class FileWatcher {
logger.debug("Initializing FileWatcher"); logger.debug("Initializing FileWatcher");
if(savedStates != null) { if(savedStates != null) {
for(FileState state : savedStates) { for(FileState state : savedStates) {
logger.info("Loading file state: " + state.getFile() + ":" + state.getPointer());
oldWatchMap.put(state.getFile(), state); oldWatchMap.put(state.getFile(), state);
} }
} }
@@ -88,7 +90,7 @@ public class FileWatcher {
} }
public void checkFiles() throws IOException { public void checkFiles() throws IOException {
logger.debug("Checking files"); logger.trace("Checking files");
logger.trace("=============="); logger.trace("==============");
for(FileAlterationObserver observer : observerList) { for(FileAlterationObserver observer : observerList) {
observer.checkAndNotify(); observer.checkAndNotify();
@@ -98,7 +100,7 @@ public class FileWatcher {
} }
public int readFiles(FileReader reader) throws IOException, AdapterException { public int readFiles(FileReader reader) throws IOException, AdapterException {
logger.debug("Reading files"); logger.trace("Reading files");
logger.trace("=============="); logger.trace("==============");
int numberOfLinesRead = reader.readFiles(oldWatchMap.values()); int numberOfLinesRead = reader.readFiles(oldWatchMap.values());
Registrar.writeStateToJson(oldWatchMap.values()); Registrar.writeStateToJson(oldWatchMap.values());
@@ -182,20 +184,23 @@ public class FileWatcher {
} }
} }
logger.trace("Refreshing file state");
for(FileState state : newWatchMap.values()) { for(FileState state : newWatchMap.values()) {
if(logger.isTraceEnabled()) { if(logger.isTraceEnabled()) {
logger.trace("Refreshing file : " + state.getFile()); logger.trace("Refreshing file state: " + state.getFile());
} }
FileState oldState = state.getOldFileState(); FileState oldState = state.getOldFileState();
if(oldState == null) { if(oldState == null) {
logger.trace("File has been truncated or created, not retrieving pointer"); if(logger.isDebugEnabled()) {
logger.debug("File " + state.getFile() + " has been truncated or created, not retrieving pointer");
}
} else { } else {
logger.trace("File has not been truncated or created, retrieving pointer");
if(logger.isInfoEnabled() && ! state.getFileName().equals(oldState.getFileName())) if(logger.isInfoEnabled() && ! state.getFileName().equals(oldState.getFileName()))
{ {
logger.info("File rename was detected: " + oldState.getFile() + " -> " + state.getFile()); logger.info("File rename was detected: " + oldState.getFile() + " -> " + state.getFile());
} }
if(logger.isDebugEnabled()) {
logger.debug("File " + state.getFile() + " has not been truncated or created, retrieving pointer: " + oldState.getPointer());
}
state.setPointer(oldState.getPointer()); state.setPointer(oldState.getPointer());
state.deleteOldFileState(); state.deleteOldFileState();
} }
@@ -332,7 +337,7 @@ public class FileWatcher {
if(markedList != null) { if(markedList != null) {
for(File file : markedList) { for(File file : markedList) {
oldWatchMap.remove(file); oldWatchMap.remove(file);
logger.trace("\tFile : " + file + " removed"); logger.debug("File: " + file + " removed from watchMap");
} }
} }
} }

View File

@@ -56,6 +56,7 @@ public class Forwarder {
private static FileReader fileReader; private static FileReader fileReader;
private static InputReader inputReader; private static InputReader inputReader;
private static Level logLevel = INFO; private static Level logLevel = INFO;
private static boolean debugWatcherSelected = false;
private static ProtocolAdapter adapter; private static ProtocolAdapter adapter;
private static Random random = new Random(); private static Random random = new Random();
private static int signatureLength = 4096; private static int signatureLength = 4096;
@@ -134,6 +135,7 @@ public class Forwarder {
Option helpOption = new Option("help", "print this message"); Option helpOption = new Option("help", "print this message");
Option quiet = new Option("quiet", "operate in quiet mode - only emit errors to log"); Option quiet = new Option("quiet", "operate in quiet mode - only emit errors to log");
Option debug = new Option("debug", "operate in debug mode"); Option debug = new Option("debug", "operate in debug mode");
Option debugWatcher = new Option("debugwatcher", "operate watcher in debug mode");
Option trace = new Option("trace", "operate in trace mode"); Option trace = new Option("trace", "operate in trace mode");
Option tail = new Option("tail", "read new files from the end"); Option tail = new Option("tail", "read new files from the end");
@@ -160,6 +162,7 @@ public class Forwarder {
.addOption(spoolSizeOption) .addOption(spoolSizeOption)
.addOption(quiet) .addOption(quiet)
.addOption(debug) .addOption(debug)
.addOption(debugWatcher)
.addOption(trace) .addOption(trace)
.addOption(tail) .addOption(tail)
.addOption(signatureLengthOption) .addOption(signatureLengthOption)
@@ -188,6 +191,9 @@ public class Forwarder {
if(line.hasOption("trace")) { if(line.hasOption("trace")) {
logLevel = TRACE; logLevel = TRACE;
} }
if(line.hasOption("debugwatcher")) {
debugWatcherSelected = true;
}
if(line.hasOption("tail")) { if(line.hasOption("tail")) {
tailSelected = true; tailSelected = true;
} }
@@ -205,12 +211,17 @@ public class Forwarder {
HelpFormatter formatter = new HelpFormatter(); HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("logstash-forwarder", options); formatter.printHelp("logstash-forwarder", options);
} }
private static void setupLogging() { private static void setupLogging() {
Layout layout = new PatternLayout("%d %p %c{1} - %m%n"); Layout layout = new PatternLayout("%d %p %c{1} - %m%n");
Appender appender = new ConsoleAppender(layout); Appender appender = new ConsoleAppender(layout);
BasicConfigurator.configure(appender); BasicConfigurator.configure(appender);
RootLogger.getRootLogger().setLevel(logLevel); RootLogger.getRootLogger().setLevel(logLevel);
if(debugWatcherSelected) {
Logger.getLogger(FileWatcher.class).addAppender(appender);
Logger.getLogger(FileWatcher.class).setLevel(DEBUG);
Logger.getLogger(FileWatcher.class).setAdditivity(false);
}
// Logger.getLogger(FileReader.class).addAppender((Appender)RootLogger.getRootLogger().getAllAppenders().nextElement()); // Logger.getLogger(FileReader.class).addAppender((Appender)RootLogger.getRootLogger().getAllAppenders().nextElement());
// Logger.getLogger(FileReader.class).setLevel(TRACE); // Logger.getLogger(FileReader.class).setLevel(TRACE);
// Logger.getLogger(FileReader.class).setAdditivity(false); // Logger.getLogger(FileReader.class).setAdditivity(false);