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.nio.file.Paths;
26 import java.util.logging.FileHandler;
27 import java.util.logging.Level;
28 import java.util.logging.Logger;
29 import java.util.logging.SimpleFormatter;
30 import org.openide.util.NbBundle;
71 final int MAX_TIKA_LOG_FILES = 3;
73 0, MAX_TIKA_LOG_FILES);
74 tikaLogHandler.setFormatter(
new SimpleFormatter());
76 TIKA_LOGGER.addHandler(tikaLogHandler);
78 TIKA_LOGGER.setUseParentHandlers(
false);
79 }
catch (IOException | SecurityException ex) {
80 logger.log(Level.SEVERE,
"Error setting up tika logging", ex);
86 throw new AssertionError();
89 static Logger getTikaLogger() {
94 changeSupport.addPropertyChangeListener(NUM_FILES_CHANGE_EVT, l);
98 changeSupport.removePropertyChangeListener(l);
104 changeSupport.firePropertyChange(NUM_FILES_CHANGE_EVT, oldNum, newNum);
105 }
catch (Exception e) {
106 logger.log(Level.SEVERE,
"KeywordSearch listener threw exception", e);
109 "KeywordSearch.fireNumIdxFileChg.moduleErr.msg"),
118 static class CaseChangeListener
implements PropertyChangeListener {
121 public void propertyChange(PropertyChangeEvent evt) {
123 if (null != evt.getOldValue()) {
127 Case closedCase = (
Case) evt.getOldValue();
129 BlackboardResultWriter.stopAllWriters();
138 }
catch (Exception ex) {
140 logger.log(Level.SEVERE, String.format(
"Failed to close core for %s", caseId), ex);
141 if (RuntimeProperties.coreComponentsAreActive()) {
142 MessageNotifyUtil.Notify.error(NbBundle.getMessage(
KeywordSearch.class,
"KeywordSearch.closeCore.notification.msg"), ex.getMessage());
147 if (null != evt.getNewValue()) {
151 Case openedCase = (Case) evt.getNewValue();
153 server.openCoreForCase(openedCase);
154 }
catch (Exception ex) {
155 String caseId = Paths.get(openedCase.getCaseDirectory(), openedCase.getName()).toString();
156 logger.log(Level.SEVERE, String.format(
"Failed to open or create core for %s", caseId), ex);
157 if (RuntimeProperties.coreComponentsAreActive()) {
158 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)