| ##### Startup configuration

Welcome to DROID | Update file format signatures | Change preferences

There are some settings which DROID needs to be told at the point it starts up. These either relate to how Java is started in the first place, or to fundamental settings which DROID needs to know before it can do anything else. You can configure these settings in several ways, by editing the startup scripts, or by setting system environment variables. If any of the settings are not configured at all, they have defaults in each case.

### Editing startup scripts

There are two startup scripts which can be used to run DROID:

- droid.bat on Windows
- droid.sh on Mac or Linux

Each of these files is a simple text file, which has documented sections to configure each of the settings near the start of the file. Settings provided by the scripts will override any system environment variables you have set in the system as a whole.

Note: be very careful if you edit the Mac or Linux startup scripts on Microsoft Windows systems, as this will often add Windows-specific line-endings to the file which may prevent it from working correctly on Mac or Linux systems. Some text editors let you specify the type of line-ending to write out.

### System environment variables

DROID will attempt to pick up settings from system environment variables if they are not provided by a startup script. To configure system environment variables, please see the documentation for your operating system. The environment variables to use are documented against each of the settings below.

### Settings

- Maximum memory to use
- User settings folder
- Temporary files folder
- Logging folder
- Log configuration
- Console log level

### Maximum memory to use

Java programs can only use as much memory as the Java Runtime Environment sets aside for them. By default, this value is often quite low. We recommend that DROID runs with up to 512Mb of memory potentially available, which is the default when DROID runs if no further configuration is done.

This is the only setting which will only take effect if DROID is run using the startup scripts. This is because it is a setting Java itself needs to know, before DROID is even run.

- Default value (running through scripts and the DROID.exe file): 512Mb
- Environment variable: droidMemory

### User settings folder

The user settings folder is where DROID stores user settings, including preferences, report definitions, filter definitions and file format signatures. If not otherwise configured, all the other folders and files configurable below are also stored under this folder.

- Default value: a folder called ".droid6" directly under the user's home directory,
- Environment variable: droidUserDir

### Temporary files folder

The temporary files folder is where DROID creates and deletes temporary files required during processing. Two sub-folders are created underneath this folder:

1. /tmp - for decompressing archival files to be further processed, and any other temporary files required. These are deleted when no longer required during processing.
2. /profiles - to store temporary copies of profiles DROID currently has open. Each temporary profile is deleted when it is closed.

Normally there should be no files left in these areas after closing DROID down, but in case of any problems, any files in these areas can be safely deleted if DROID is not running.

- Default value: the droid user settings folder.
- Environment variable: droidTempDir

### Logging folder

The logging folder is where DROID writes its log files out during operation.

- Default value: a folder called "logs" under the droid user settings folder.
- Environment variable: droidLogDir

### Log configuration

DROID uses a logging system called log4j . You can configure different log settings by providing the path to a log configuration file, or by editing the settings in the default log configuration file.

- Default value: a file called "log4j.properties" under the droid user settings folder.
- Environment variable: log4j.configuration

### Console log level

DROID logs events to the console by default at an INFO level. If DROID is running in quiet mode from the command line, then this property is overridden to be at an ERROR level. You can configure the default log level to the console using this property in the start up scripts. Valid logging levels, from most verbose to least verbose, are DEBUG, INFO, WARN, ERROR, FATAL.

- Default value: INFO
- Environment variable: consoleLogThreshold

Welcome to DROID | Update file format signatures | Change preferences

######