mirror of
https://github.com/Febbweiss/logstash-forwarder-java.git
synced 2026-03-04 22:25:39 +00:00
Logging improvements (debugwatcher option).
This commit is contained in:
@@ -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");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user