diff --git a/index.js b/index.js index 95be682..8e9eedf 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,4 @@ - +'use strict'; // Copyright 2015-2016 Stephen Vickers var dgram = require("dgram"); @@ -81,7 +81,29 @@ function Client(target, options) { if (this.transport === Transport.Tls) { this.tlsCA = options.tlsCA; } - + /* options.structuredData = { + * id1: { param1: value1, param2: value2 }, + * id2: { param1: value1, param2: value2 }, + * } + */ + if (!options.structuredData) + this.sdString = '-'; + else { + const elements = options.structuredData; + const elArr = []; + this.rfc3164 = false; + for (let sdId in elements) { + const paramArr = []; + for (let sdParamName in elements[sdId]) { + paramArr.push(`${sdParamName}="${elements[sdId][sdParamName]}"`); + } + elArr.push(`[${sdId} ${paramArr.join(' ')}]`); + } + if (!elArr.length) + this.sdString = '-'; + else + this.sdString = elArr.join(' '); + } return this; } @@ -144,7 +166,7 @@ Client.prototype.buildFormattedMessage = function buildFormattedMessage(message, + process.pid + " " + msgid - + " - " // no STRUCTURED-DATA + + ` ${this.sdString} ` // STRUCTURED-DATA + message + newline; }