{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.log.CamelLogSinkConnector",
		"artifactId": "camel-log-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-log-sink",
		"type": "sink",
		"version": "0.6.1"
	},
	"properties": {
		"camel.sink.path.loggerName": {
			"name": "camel.sink.path.loggerName",
			"description": "Name of the logging category to use",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.sink.endpoint.groupActiveOnly": {
			"name": "camel.sink.endpoint.groupActiveOnly",
			"description": "If true, will hide stats when no new messages have been received for a time interval, if false, show stats regardless of message traffic.",
			"defaultValue": "\"true\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.groupDelay": {
			"name": "camel.sink.endpoint.groupDelay",
			"description": "Set the initial delay for stats (in millis)",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.groupInterval": {
			"name": "camel.sink.endpoint.groupInterval",
			"description": "If specified will group message stats by this time interval (in millis)",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.groupSize": {
			"name": "camel.sink.endpoint.groupSize",
			"description": "An integer that specifies a group size for throughput logging.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.lazyStartProducer": {
			"name": "camel.sink.endpoint.lazyStartProducer",
			"description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.level": {
			"name": "camel.sink.endpoint.level",
			"description": "Logging level to use. The default value is INFO. One of: [ERROR] [WARN] [INFO] [DEBUG] [TRACE] [OFF]",
			"defaultValue": "\"INFO\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.logMask": {
			"name": "camel.sink.endpoint.logMask",
			"description": "If true, mask sensitive information like password or passphrase in the log.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.marker": {
			"name": "camel.sink.endpoint.marker",
			"description": "An optional Marker name to use.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.basicPropertyBinding": {
			"name": "camel.sink.endpoint.basicPropertyBinding",
			"description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.exchangeFormatter": {
			"name": "camel.sink.endpoint.exchangeFormatter",
			"description": "To use a custom exchange formatter",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.synchronous": {
			"name": "camel.sink.endpoint.synchronous",
			"description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.maxChars": {
			"name": "camel.sink.endpoint.maxChars",
			"description": "Limits the number of characters logged per line.",
			"defaultValue": "10000",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.multiline": {
			"name": "camel.sink.endpoint.multiline",
			"description": "If enabled then each information is outputted on a newline.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showAll": {
			"name": "camel.sink.endpoint.showAll",
			"description": "Quick option for turning all options on. (multiline, maxChars has to be manually set if to be used)",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showBody": {
			"name": "camel.sink.endpoint.showBody",
			"description": "Show the message body.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showBodyType": {
			"name": "camel.sink.endpoint.showBodyType",
			"description": "Show the body Java type.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showCaughtException": {
			"name": "camel.sink.endpoint.showCaughtException",
			"description": "If the exchange has a caught exception, show the exception message (no stack trace). A caught exception is stored as a property on the exchange (using the key org.apache.camel.Exchange#EXCEPTION_CAUGHT) and for instance a doCatch can catch exceptions.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showException": {
			"name": "camel.sink.endpoint.showException",
			"description": "If the exchange has an exception, show the exception message (no stacktrace)",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showExchangeId": {
			"name": "camel.sink.endpoint.showExchangeId",
			"description": "Show the unique exchange ID.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showExchangePattern": {
			"name": "camel.sink.endpoint.showExchangePattern",
			"description": "Shows the Message Exchange Pattern (or MEP for short).",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showFiles": {
			"name": "camel.sink.endpoint.showFiles",
			"description": "If enabled Camel will output files",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showFuture": {
			"name": "camel.sink.endpoint.showFuture",
			"description": "If enabled Camel will on Future objects wait for it to complete to obtain the payload to be logged.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showHeaders": {
			"name": "camel.sink.endpoint.showHeaders",
			"description": "Show the message headers.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showProperties": {
			"name": "camel.sink.endpoint.showProperties",
			"description": "Show the exchange properties.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showStackTrace": {
			"name": "camel.sink.endpoint.showStackTrace",
			"description": "Show the stack trace, if an exchange has an exception. Only effective if one of showAll, showException or showCaughtException are enabled.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.showStreams": {
			"name": "camel.sink.endpoint.showStreams",
			"description": "Whether Camel should show stream bodies or not (eg such as java.io.InputStream). Beware if you enable this option then you may not be able later to access the message body as the stream have already been read by this logger. To remedy this you will have to use Stream Caching.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.skipBodyLineSeparator": {
			"name": "camel.sink.endpoint.skipBodyLineSeparator",
			"description": "Whether to skip line separators when logging the message body. This allows to log the message body in one line, setting this option to false will preserve any line separators from the body, which then will log the body as is.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.style": {
			"name": "camel.sink.endpoint.style",
			"description": "Sets the outputs style to use. One of: [Default] [Tab] [Fixed]",
			"defaultValue": "\"Default\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.log.lazyStartProducer": {
			"name": "camel.component.log.lazyStartProducer",
			"description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.log.basicPropertyBinding": {
			"name": "camel.component.log.basicPropertyBinding",
			"description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities",
			"defaultValue": "false",
			"priority": "LOW",
			"required": "false"
		},
		"camel.component.log.exchangeFormatter": {
			"name": "camel.component.log.exchangeFormatter",
			"description": "Sets a custom ExchangeFormatter to convert the Exchange to a String suitable for logging. If not specified, we default to DefaultExchangeFormatter.",
			"priority": "MEDIUM",
			"required": "false"
		}
	}
}