# interface.input

Selects which message representation mmexternal passes to the external plugin.

This parameter applies to Support module for external message modification modules.

Name:

  interface.input

Scope:

  input

Type:

  string

Default:

  msg

Required?:

  no

Introduced:

  8.3.0

## Description

This parameter controls what part of the message is passed to the external program’s standard input. It can be set to one of the following values:

- `"msg"` (default): Passes the MSG part of the syslog message.

- `"rawmsg"`: Passes the complete, original syslog message as received by rsyslog, including headers.

- `"fulljson"`: Passes the complete rsyslog message object (with all properties) as a JSON object string. This corresponds to the `jsonmesg` dynamic message property.

This setting must match the external plugin’s expectations. Check the external plugin documentation for what needs to be used.

Note

When processing multi-line messages, you must use `"fulljson"`. This ensures that embedded line breaks are encoded properly and do not cause parsing errors in the external plugin interface.

## Input usage

    module(load="mmexternal")

    action(
        type="mmexternal"
        binary="/path/to/mmexternal.py"
        interfaceInput="fulljson"
    )

## See also

See also Support module for external message modification modules.

Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project

Contributing: Source & docs: rsyslog source project

© 2008–2025 Rainer Gerhards and others. Licensed under the Apache License 2.0.