# framework_config.json

The `framework_config.json` file is an optional configuration file within your application's root directory. It supports some useful developer aids and other configurable options in the framework.

## Properties

All properties are optional, as is `framework_config.json` itself. It does not need to be explicitly loaded because the framework loads it if it is present in the application directory.

Property | Description
--- | ---
debuggingEnabled | If true, enables debugging features that include: Default error handler for service requests ALT+f for FPS display CTRL+SHIFT+l to log the current scene's HTML CTRL+SHIFT+o to open the firebug-lite inspector, if installed CTRL+SHIFT+v to view the framework version that is in use
escapeHTMLInTemplates | If true, HTML escapes in any property substitution in templates, which is a good idea.
logEvents | Causes events sent by the framework and mouse events received to be logged at info level.
logLevel | Controls the logging levels: Mojo.Log.LOG_LEVEL_ERROR = 0 Mojo.Log.LOG_LEVEL_INFO = 20 Mojo.Log.LOG_LEVEL_WARNING = 10 For more information, see Logging.
timingEnabled | If true, the timing statistics enable on the scene transitions. For more information, see Timing.
useNativeJSONParser | If true, uses the native JSON parser, if available

## Examples

A typical `framework_config.json` file includes logging levels, debug enable/disable, and timing enable/disable properties during development.

Example:

>     {
>       "logLevel": 99,
>       "timingEnabled": true,
>       "logEvents": true,
>       "debuggingEnabled": true,
>       "escapeHTMLInTemplates": true
>     }

For release, you would turn off any debugging features, but leave other configuration options set.

Example:

>     {
>       "logLevel": 0,
>       "timingEnabled": false,
>       "logEvents": false,
>       "debuggingEnabled": false,
>       "escapeHTMLInTemplates": true
>     }

## Dynamic Configuration

You can also set these configurations dynamically during debugging sessions by using the palm-launch command from the terminal, passing the properties to be changed along with a special property, `mojoConfig:true`, as in this example, which enables `timingEnabled`:

>     $ palm-launch -p "{mojoConfig:true, timingEnabled:true}" com.palm.app.myapp