mirror of
https://github.com/misskey-dev/SyslogPro.git
synced 2025-04-29 02:37:18 +09:00
Merge pull request #15 from zeit/allow-empty-message
Allow to send empty message on RFC5424
This commit is contained in:
commit
852bcef842
44
index.ts
44
index.ts
@ -1329,7 +1329,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Building a formatted message. Returns a promise with a formatted message
|
* Building a formatted message. Returns a promise with a formatted message
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The Syslog Message
|
* @param {?string} msg - The Syslog Message
|
||||||
* @param {object} [options] - Options object
|
* @param {object} [options] - Options object
|
||||||
* @param {number} [options.severity=7] - An array of structure
|
* @param {number} [options.severity=7] - An array of structure
|
||||||
* @param {number} [options.facility=23] - Facility code to use sending this
|
* @param {number} [options.facility=23] - Facility code to use sending this
|
||||||
@ -1353,7 +1353,7 @@ export class RFC5424 extends RFC {
|
|||||||
options = options || {};
|
options = options || {};
|
||||||
let severity = typeof options.severity === 'number' ?
|
let severity = typeof options.severity === 'number' ?
|
||||||
options.severity : 6;
|
options.severity : 6;
|
||||||
if (typeof msg !== 'string' || options.severity > 7) {
|
if ((msg != null && typeof msg !== 'string') || options.severity > 7) {
|
||||||
let errMsg = 'FORMAT ERROR: Syslog message must be a string';
|
let errMsg = 'FORMAT ERROR: Syslog message must be a string';
|
||||||
errMsg += ' msgSeverity must be a number between 0 and 7';
|
errMsg += ' msgSeverity must be a number between 0 and 7';
|
||||||
throw new Error(errMsg);
|
throw new Error(errMsg);
|
||||||
@ -1370,7 +1370,7 @@ export class RFC5424 extends RFC {
|
|||||||
// The PRI is common to both RFC formats
|
// The PRI is common to both RFC formats
|
||||||
const pri = (facility * 8) + severity;
|
const pri = (facility * 8) + severity;
|
||||||
// Add requested color
|
// Add requested color
|
||||||
if (this.color) {
|
if (this.color && msg) {
|
||||||
options.msgColor = options.msgColor || 36;
|
options.msgColor = options.msgColor || 36;
|
||||||
let colorCode = '[';
|
let colorCode = '[';
|
||||||
if (this.extendedColor) {
|
if (this.extendedColor) {
|
||||||
@ -1439,10 +1439,8 @@ export class RFC5424 extends RFC {
|
|||||||
fmtMsg += ' ' + pid;
|
fmtMsg += ' ' + pid;
|
||||||
fmtMsg += ' ' + id;
|
fmtMsg += ' ' + id;
|
||||||
fmtMsg += ' ' + structuredData;
|
fmtMsg += ' ' + structuredData;
|
||||||
if (this.utf8BOM) {
|
if (msg) {
|
||||||
fmtMsg += ' BOM' + msg;
|
fmtMsg += ` ${this.utf8BOM ? 'BOM' : ''}${msg}`;
|
||||||
} else {
|
|
||||||
fmtMsg += ' ' + msg;
|
|
||||||
}
|
}
|
||||||
return this.octetCounting
|
return this.octetCounting
|
||||||
? `${Buffer.byteLength(fmtMsg)} ${fmtMsg}`
|
? `${Buffer.byteLength(fmtMsg)} ${fmtMsg}`
|
||||||
@ -1476,7 +1474,7 @@ export class RFC5424 extends RFC {
|
|||||||
* class was created a default Syslog connector will be used.
|
* class was created a default Syslog connector will be used.
|
||||||
* @see SyslogPro~Syslog
|
* @see SyslogPro~Syslog
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The unformatted Syslog message to send
|
* @param {?string} msg - The unformatted Syslog message to send
|
||||||
* @returns {Promise} A Syslog formatted string according to the selected RFC
|
* @returns {Promise} A Syslog formatted string according to the selected RFC
|
||||||
* @throws {Error} A standard error object
|
* @throws {Error} A standard error object
|
||||||
*/
|
*/
|
||||||
@ -1487,7 +1485,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 0 (Emergency)
|
* Send a syslog message with a severity level of 0 (Emergency)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The emergency message to send to the Syslog server
|
* @param {?string} msg - The emergency message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1500,7 +1498,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 0 (Emergency)
|
* Send a syslog message with a severity level of 0 (Emergency)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The emergency message to send to the Syslog server
|
* @param {?string} msg - The emergency message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1510,7 +1508,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 1 (Alert)
|
* Send a syslog message with a severity level of 1 (Alert)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The alert message to send to the Syslog server
|
* @param {?string} msg - The alert message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1523,7 +1521,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 2 (Critical)
|
* Send a syslog message with a severity level of 2 (Critical)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The critical message to send to the Syslog server
|
* @param {?string} msg - The critical message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1536,7 +1534,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 2 (Critical)
|
* Send a syslog message with a severity level of 2 (Critical)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The critical message to send to the Syslog server
|
* @param {?string} msg - The critical message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1546,7 +1544,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 3 (Error)
|
* Send a syslog message with a severity level of 3 (Error)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The error message to send to the Syslog server
|
* @param {?string} msg - The error message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1559,7 +1557,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 3 (Error)
|
* Send a syslog message with a severity level of 3 (Error)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The error message to send to the Syslog server
|
* @param {?string} msg - The error message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1569,7 +1567,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 4 (Warning)
|
* Send a syslog message with a severity level of 4 (Warning)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The warning message to send to the Syslog server
|
* @param {?string} msg - The warning message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1582,7 +1580,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 4 (Warning)
|
* Send a syslog message with a severity level of 4 (Warning)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The warning message to send to the Syslog server
|
* @param {?string} msg - The warning message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1592,7 +1590,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 5 (Notice)
|
* Send a syslog message with a severity level of 5 (Notice)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The notice message to send to the Syslog server
|
* @param {?string} msg - The notice message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1605,7 +1603,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 5 (Notice)
|
* Send a syslog message with a severity level of 5 (Notice)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The notice message to send to the Syslog server
|
* @param {?string} msg - The notice message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
@ -1615,7 +1613,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 6 (Informational)
|
* Send a syslog message with a severity level of 6 (Informational)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The informational message to send to the Syslog
|
* @param {?string} msg - The informational message to send to the Syslog
|
||||||
* server
|
* server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
@ -1629,7 +1627,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 6 (Informational)
|
* Send a syslog message with a severity level of 6 (Informational)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The informational message to send to the Syslog
|
* @param {?string} msg - The informational message to send to the Syslog
|
||||||
* server
|
* server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
@ -1640,7 +1638,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 6 (Informational)
|
* Send a syslog message with a severity level of 6 (Informational)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The informational message to send to the Syslog
|
* @param {?string} msg - The informational message to send to the Syslog
|
||||||
* server
|
* server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
@ -1651,7 +1649,7 @@ export class RFC5424 extends RFC {
|
|||||||
/**
|
/**
|
||||||
* Send a syslog message with a severity level of 7 (Debug)
|
* Send a syslog message with a severity level of 7 (Debug)
|
||||||
* @public
|
* @public
|
||||||
* @param {string} msg - The debug message to send to the Syslog server
|
* @param {?string} msg - The debug message to send to the Syslog server
|
||||||
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
* @returns {Promise} - The formatted syslog message sent to the Syslog server
|
||||||
* @throws {Error} - Any bubbled-up error
|
* @throws {Error} - Any bubbled-up error
|
||||||
*/
|
*/
|
||||||
|
@ -332,6 +332,11 @@ describe('RFC5424 Class Tests', () => {
|
|||||||
expect(reason.message).toBe(errMsg);
|
expect(reason.message).toBe(errMsg);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
test('RFC5424 BuildMessage with no message', () => {
|
||||||
|
const rfc5424 = new SyslogPro.RFC5424({ hostname: '-' });
|
||||||
|
const result = rfc5424.buildMessage();
|
||||||
|
expect(result).toMatch(/^<190>1 \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,3}[\+\-]\d{2}:\d{2} - - - - -\n$/);
|
||||||
|
});
|
||||||
test('RFC5424 BuildMessage with Timestamp options', () => {
|
test('RFC5424 BuildMessage with Timestamp options', () => {
|
||||||
let rfc5424 = new SyslogPro.RFC5424({
|
let rfc5424 = new SyslogPro.RFC5424({
|
||||||
color: true,
|
color: true,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user