====Common Output Module Options==== While each Output Module has it's own distinct set of options, there are a few that are common to all modules. These are usually used to allow you to filter your data or only output specific //kinds// of information, giving you control over exactly what is recorded. ===Filtering=== The **filter** option allows you to enter a regular expression that is used to filter the **name of the output point**. For example, if you have the following outputs... ^Output Name^ |Machine.Input.Speed| |Machine.Input.Temperature| |Machine.Output.Vibration| ...you can choose to only transmit the //output// values using the regular expression .*?\.Output\.*? ===Tags=== The source of the output may also **optionally** include certain //tags//. For example, ModelHost will include the **input** tag when transmitting a new input value, and the **output** tag when transmitting an output value. You can control which tags are accepted or rejected using the **allow** and **deny** parameters. ^Point Name^Tags^ |Machine Speed|Input Decimal| |Machine Temperature|Input Decimal| |Machine Vibration|Output Decimal| |Machine Status|Output Text| In the above example, you could do the following... "deny": "text" //This would prevent any text values from being recorded.// "allow": "output" //This would only send **output** data to the output module// "allow": "output decimal" //This would only allow **output** data that is also **decimal** data//. ===Timezone and Date Formats=== Most [[event_log|event]]-based output methods have options to correct the UTC dates and time according to a specific time-zone, and to modify the formatting of your dates. "timezone": "Australia/Sydney", "dateformat": "%Y-%m-%d %H:%M:%S" //This would ensure that all dates and times are in Y-M-D h:m:s format, and that the times are in the correct timezone for Sydney, Australia// ===Shared Configuration Files=== The modular output system can use a single configuration file for different types of output. For instance, the output modules for [[key-value|key-value]] data are quite different for those for [[event log|event data]]. You can use the **type** parameter to choose which type of output the module applies to. A type of //value// is for key-value data, and a type of //event// is for event-based data. [ { "type": "value", "method": "prometheus", "port": 9306 }, { "type": "event", "method": "logfile", "filename": "spikes.log" } ] //In the above configuration, events are recorded to a log file while live values are available to Prometheus.//