19 package org.sleuthkit.autopsy.keywordsearch;
21 import java.beans.PropertyChangeEvent;
22 import java.beans.PropertyChangeListener;
23 import java.beans.PropertyChangeSupport;
24 import java.io.IOException;
25 import java.util.logging.FileHandler;
26 import java.util.logging.Level;
27 import java.util.logging.Logger;
28 import java.util.logging.SimpleFormatter;
29 import org.openide.util.NbBundle;
70 final int MAX_TIKA_LOG_FILES = 3;
72 0, MAX_TIKA_LOG_FILES);
73 tikaLogHandler.setFormatter(
new SimpleFormatter());
75 TIKA_LOGGER.addHandler(tikaLogHandler);
77 TIKA_LOGGER.setUseParentHandlers(
false);
78 }
catch (IOException | SecurityException ex) {
79 logger.log(Level.SEVERE,
"Error setting up tika logging", ex);
85 throw new AssertionError();
88 static Logger getTikaLogger() {
93 changeSupport.addPropertyChangeListener(NUM_FILES_CHANGE_EVT, l);
97 changeSupport.removePropertyChangeListener(l);
103 changeSupport.firePropertyChange(NUM_FILES_CHANGE_EVT, oldNum, newNum);
104 }
catch (Exception e) {
105 logger.log(Level.SEVERE,
"KeywordSearch listener threw exception", e);
108 "KeywordSearch.fireNumIdxFileChg.moduleErr.msg"),
117 static class CaseChangeListener
implements PropertyChangeListener {
120 public void propertyChange(PropertyChangeEvent evt) {
122 if (null != evt.getOldValue()) {
126 Case closedCase = (
Case) evt.getOldValue();
128 BlackboardResultWriter.stopAllWriters();
137 }
catch (Exception ex) {
138 logger.log(Level.SEVERE, String.format(
"Failed to close core for %s", closedCase.
getCaseDirectory()), ex);
139 if (RuntimeProperties.coreComponentsAreActive()) {
140 MessageNotifyUtil.Notify.error(NbBundle.getMessage(
KeywordSearch.class,
"KeywordSearch.closeCore.notification.msg"), ex.getMessage());
145 if (null != evt.getNewValue()) {
149 Case openedCase = (Case) evt.getNewValue();
151 server.openCoreForCase(openedCase);
152 }
catch (Exception ex) {
153 logger.log(Level.SEVERE, String.format(
"Failed to open or create core for %s", openedCase.getCaseDirectory()), ex);
154 if (RuntimeProperties.coreComponentsAreActive()) {
155 MessageNotifyUtil.Notify.error(NbBundle.getMessage(
KeywordSearch.class,
"KeywordSearch.openCore.notification.msg"), ex.getMessage());
static final org.sleuthkit.autopsy.coreutils.Logger logger
static void fireNumIndexedFilesChange(Integer oldNum, Integer newNum)
static void addNumIndexedFilesChangeListener(PropertyChangeListener l)
String getCaseDirectory()
static synchronized Server getServer()
static PropertyChangeSupport changeSupport
static final Logger TIKA_LOGGER
static final String NUM_FILES_CHANGE_EVT
static void removeNumIndexedFilesChangeListener(PropertyChangeListener l)
synchronized static Logger getLogger(String name)
static void show(String title, String message, MessageType type, ActionListener actionListener)