/*
 * Autopsy Forensic Browser
 *
 * Copyright 2011 Basis Technology Corp.
 * Contact: carrier <at> sleuthkit <dot> org
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.sleuthkit.autopsy.coreutils;

import java.io.IOException;
import java.util.logging.FileHandler;
import org.openide.modules.ModuleInstall;
import java.util.logging.Logger;
import java.util.logging.Handler;
import java.util.logging.SimpleFormatter;



/**
 * Manages a this module's lifecycle. Sets up logging to file.
 */
public class Installer extends ModuleInstall {

    static final Logger autopsyLogger = Logger.getLogger("");
    static final String LOG_FILENAME_PATTERN = System.getProperty("netbeans.user") + "/var/log/autopsy.log"; //%t is system temp dir, %g is log number
    static final int LOG_SIZE = 0; // in bytes, zero is unlimited
    static final int LOG_FILE_COUNT = 10;
    static Handler logs;

    @Override
    public void restored() {
        if (logs == null) {
            try {
                logs = new FileHandler(LOG_FILENAME_PATTERN, LOG_SIZE, LOG_FILE_COUNT);;
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
            logs.setFormatter(new SimpleFormatter());
            autopsyLogger.addHandler(logs);
        }
    }
    
    @Override
    public void uninstalled() {
        autopsyLogger.removeHandler(logs);
        logs.close();
        logs = null;
    }


}

@@ -889,24 +889,56 @@
 ng.Handler;%0A
+import java.util.logging.Level;%0A
 import java.
@@ -1819,24 +1819,209 @@
 ;%0A        %7D%0A
+        %0A        autopsyLogger.log(Level.INFO, %22Application name: %22 + Version.getName() %0A                + %22, version: %22 + Version.getVersion() + %22, build: %22 + Version.getBuildType());%0A
     %7D%0A    %0A 

Print application name, version and build type to log as it starts