Forráskód Böngészése

Logging improvements (debugwatcher option).

didfet 10 éve
szülő
commit
a5f884c44f

+ 12 - 7
src/main/java/info/fetter/logstashforwarder/FileWatcher.java

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

+ 12 - 1
src/main/java/info/fetter/logstashforwarder/Forwarder.java

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