mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-16 09:47:42 +00:00
Merge pull request #1095 from sidheshenator/logger-issue
Logs appropriate method in case of exception. Lck files deleted.
This commit is contained in:
commit
d69e62f44c
@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.core;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.logging.Handler;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.embed.swing.JFXPanel;
|
import javafx.embed.swing.JFXPanel;
|
||||||
@ -199,5 +200,8 @@ public class Installer extends ModuleInstall {
|
|||||||
logger.log(Level.WARNING, "", e);
|
logger.log(Level.WARNING, "", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (Handler h : logger.getHandlers()) {
|
||||||
|
h.close(); //must call h.close or a .LCK file will remain.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,9 +23,11 @@ import java.beans.PropertyChangeListener;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.logging.FileHandler;
|
import java.util.logging.FileHandler;
|
||||||
|
import java.util.logging.Formatter;
|
||||||
import java.util.logging.Handler;
|
import java.util.logging.Handler;
|
||||||
import java.util.logging.Level;
|
import java.sql.Timestamp;
|
||||||
import java.util.logging.SimpleFormatter;
|
import java.util.Date;
|
||||||
|
import java.util.logging.LogRecord;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -76,7 +78,51 @@ public final class Logger extends java.util.logging.Logger {
|
|||||||
try {
|
try {
|
||||||
FileHandler f = new FileHandler(logDirectory + File.separator + fileName, LOG_SIZE, LOG_FILE_COUNT);
|
FileHandler f = new FileHandler(logDirectory + File.separator + fileName, LOG_SIZE, LOG_FILE_COUNT);
|
||||||
f.setEncoding(LOG_ENCODING);
|
f.setEncoding(LOG_ENCODING);
|
||||||
f.setFormatter(new SimpleFormatter());
|
switch (fileName) {
|
||||||
|
case LOG_WITHOUT_STACK_TRACES:
|
||||||
|
f.setFormatter(new Formatter() {
|
||||||
|
@Override
|
||||||
|
public String format(LogRecord record) {
|
||||||
|
return (new Date(record.getMillis())).toString() + " : "
|
||||||
|
+ record.getLevel() + ": "
|
||||||
|
+ record.getSourceClassName() + " "
|
||||||
|
+ record.getSourceMethodName() + ": "
|
||||||
|
+ record.getMessage() + "\n";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case LOG_WITH_STACK_TRACES:
|
||||||
|
f.setFormatter(new Formatter() {
|
||||||
|
@Override
|
||||||
|
public String format(LogRecord record) {
|
||||||
|
if (record.getThrown() != null) {
|
||||||
|
|
||||||
|
StackTraceElement ele[] = record.getThrown().getStackTrace();
|
||||||
|
String StackTrace = "";
|
||||||
|
for (StackTraceElement ele1 : ele) {
|
||||||
|
StackTrace += "\t" + ele1.toString() + "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
return (new Timestamp(record.getMillis())).toString() + " : "
|
||||||
|
+ record.getLevel() + ": "
|
||||||
|
+ record.getSourceClassName() + " "
|
||||||
|
+ record.getSourceMethodName() + ": "
|
||||||
|
+ record.getMessage() + " "
|
||||||
|
+ record.getThrown().toString() + ": "
|
||||||
|
+ StackTrace
|
||||||
|
+ "\n";
|
||||||
|
} else {
|
||||||
|
return (new Timestamp(record.getMillis())).toString() + " : "
|
||||||
|
+ record.getLevel() + ": "
|
||||||
|
+ record.getSourceClassName() + " "
|
||||||
|
+ record.getSourceMethodName() + ": "
|
||||||
|
+ record.getMessage() + " "
|
||||||
|
+ "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
return f;
|
return f;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new RuntimeException("Error initializing " + fileName + " file handler", e); //NON-NLS
|
throw new RuntimeException("Error initializing " + fileName + " file handler", e); //NON-NLS
|
||||||
@ -93,7 +139,7 @@ public final class Logger extends java.util.logging.Logger {
|
|||||||
* @return org.sleuthkit.autopsy.coreutils.Logger instance
|
* @return org.sleuthkit.autopsy.coreutils.Logger instance
|
||||||
*/
|
*/
|
||||||
public static Logger getLogger(String name) {
|
public static Logger getLogger(String name) {
|
||||||
return new Logger(java.util.logging.Logger.getLogger(name));
|
return new Logger(name, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -109,46 +155,16 @@ public final class Logger extends java.util.logging.Logger {
|
|||||||
* @return org.sleuthkit.autopsy.coreutils.Logger instance
|
* @return org.sleuthkit.autopsy.coreutils.Logger instance
|
||||||
*/
|
*/
|
||||||
public static Logger getLogger(String name, String resourceBundleName) {
|
public static Logger getLogger(String name, String resourceBundleName) {
|
||||||
return new Logger(java.util.logging.Logger.getLogger(name, resourceBundleName));
|
return new Logger(name, resourceBundleName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Logger(java.util.logging.Logger log) {
|
private Logger(String name, String resourceBundleName) {
|
||||||
super(log.getName(), log.getResourceBundleName());
|
super(name, resourceBundleName);
|
||||||
if (Version.getBuildType() == Version.Type.DEVELOPMENT) {
|
if (Version.getBuildType() == Version.Type.DEVELOPMENT) {
|
||||||
addHandler(console);
|
super.addHandler(console);
|
||||||
}
|
}
|
||||||
setUseParentHandlers(false);
|
super.setUseParentHandlers(false);
|
||||||
addHandler(userFriendlyLogFile);
|
super.addHandler(userFriendlyLogFile);
|
||||||
addHandler(developersLogFile);
|
super.addHandler(developersLogFile);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void log(Level level, String message, Throwable thrown) {
|
|
||||||
logUserFriendlyOnly(level, message, thrown);
|
|
||||||
removeHandler(userFriendlyLogFile);
|
|
||||||
super.log(level, message, thrown);
|
|
||||||
addHandler(userFriendlyLogFile);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void logp(Level level, String sourceClass, String sourceMethod, String message, Throwable thrown) {
|
|
||||||
logUserFriendlyOnly(level, message, thrown);
|
|
||||||
removeHandler(userFriendlyLogFile);
|
|
||||||
super.logp(level, sourceClass, sourceMethod, message, thrown);
|
|
||||||
addHandler(userFriendlyLogFile);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void logUserFriendlyOnly(Level level, String message, Throwable thrown) {
|
|
||||||
removeHandler(developersLogFile);
|
|
||||||
super.log(level, "{0}\nException: {1}", new Object[]{message, thrown.toString()}); //NON-NLS
|
|
||||||
addHandler(developersLogFile);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void throwing(String sourceClass, String sourceMethod, Throwable thrown) {
|
|
||||||
removeHandler(userFriendlyLogFile);
|
|
||||||
super.throwing(sourceClass, sourceMethod, thrown);
|
|
||||||
addHandler(userFriendlyLogFile);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user