Link dynamically with librdkafka

Don't link statically with librdkafka.

Change-Id: I2eac5b60981236d204ef4770152ee67b6f8a7400
Added support for escaping troublesome characters in tag content.

Change-Id: I7888bea7fde6d6d70826c73c83cda3d0d3e1e59c
Added JSON formatter, field name identifers and type casting option.

 * "format.type = string|json|protobuf|avro" config option
 * field name identifiers %{@NAME}x (for JSON,etc encoding)
 * type-casting to !options (!num supported)

Change-Id: Ia5d61c0a3be01722d8191d0ea4a8010445530ff9
Added 'output = null' for testing purposes.

Change-Id: If5f1e2fe89acf5caa60c21a3c4b1b88723097fa6
When reading offline VSL files (-r ..) make a copy of each matched tags data since the data is volatile.

This is controlled manually by the new 'log.data.copy = true|false' config property
which defaults to true.

Increases the scratch pad per logline from 512 to 2K.

Change-Id: I8935d10eae2496a2096a44f9f10d89585a48ae8c
Handle "Var: Val" with empty " Val"s.

Change-Id: I38980e81f6df32ee553695cf6998c80af1f69883
Indent fix and clarified comment.

Change-Id: Ibbb3cd158f7cac518dd5dea3301130b595f49a3f
Dont redeclare 'len'

Change-Id: Ia802061e426d02c57f23c011a4515aad266828f5
Decrease default log.level to 6 (info)

Change-Id: Ic4921a7db19512422ece92a3fd749b6e63a833a1
Added support for libyajl version 1.x

Change-Id: I26272bfcb263071ba412d8b9811247ee43a29e7f
Let log.data.copy default to true.

Change-Id: I96f66730dc73ccb6c072dd9a81b1253a5239c5c1
Added optional %{<strftime-format>}t formatting to %t

Change-Id: I2a079741eea0d4e842eed8dbaa9f282c8093f774
Added optional secondary formatter: format.key

Config property: format.key = <format string>
Config property: format.key.type = string|json

If output is kafka the key will be used as message key.
If output is string it will simply output an additional line rendered
according to the format.key format and format.key.type.

Change-Id: Icd97a6d3f1c67e12dbfa849796c0ac8807a50b1f
Added README.md markdown file

Change-Id: Ie4170698c6b241ac50ea33d41c7d405bee8100c2
Fixed typo in README

Change-Id: I7e77f5bf125399ad2f1af8376467c50643d0e4c6
Cleaned up the conf.example

Change-Id: I3f868c0841ebbeab9fb7be3f3c1ce64b22f380d5
Default explicitly configured numeric fields to 0 instead of -.

%{..!num}x fields will now default to 0 rather than "-" in JSON output.

Change-Id: I6df55477e36ff446069149eee538455215fbfc21
Updated for new librdkafka API.

Change-Id: Ief5b28690c17a1b4087f7f9586182b05683f7c84
Use LRU hash for logline cache to avoid memory leak

The LRU cache is controlled by two new configuration properties:
  "log.hash.size" - the number of hash buckets
  "log.hash.max"  - maximum number of cached loglines per hash bucket

Change-Id: I0ce7b1c95b321d2d7400b80e85cb36ef020c2681
Make scratch buffer size configurable (issue #2)

Controlled through the "log.line.scratch.size" property (default 4096)

Change-Id: I4a3f37d5b40bee4c33c7ba1bb4fa7a1c35bfb613