UNPKG

8.73 kBJavaScriptView Raw
1"use strict";
2var _a;
3Object.defineProperty(exports, "__esModule", { value: true });
4exports.GelfLogDriver = exports.GelfCompressionType = void 0;
5const jsiiDeprecationWarnings = require("../../.warnings.jsii.js");
6const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7const log_driver_1 = require("./log-driver");
8const utils_1 = require("./utils");
9/**
10 * The type of compression the GELF driver uses to compress each log message.
11 */
12var GelfCompressionType;
13(function (GelfCompressionType) {
14 GelfCompressionType["GZIP"] = "gzip";
15 GelfCompressionType["ZLIB"] = "zlib";
16 GelfCompressionType["NONE"] = "none";
17})(GelfCompressionType = exports.GelfCompressionType || (exports.GelfCompressionType = {}));
18/**
19 * A log driver that sends log information to journald Logs.
20 */
21class GelfLogDriver extends log_driver_1.LogDriver {
22 /**
23 * Constructs a new instance of the GelfLogDriver class.
24 *
25 * @param props the gelf log driver configuration options.
26 */
27 constructor(props) {
28 super();
29 this.props = props;
30 try {
31 jsiiDeprecationWarnings._aws_cdk_aws_ecs_GelfLogDriverProps(props);
32 }
33 catch (error) {
34 if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
35 Error.captureStackTrace(error, GelfLogDriver);
36 }
37 throw error;
38 }
39 // Validation
40 if (props.compressionLevel) {
41 utils_1.ensureInRange(props.compressionLevel, -1, 9);
42 }
43 if (props.tcpMaxReconnect) {
44 utils_1.ensurePositiveInteger(props.tcpMaxReconnect);
45 }
46 }
47 /**
48 * Called when the log driver is configured on a container
49 */
50 bind(_scope, _containerDefinition) {
51 try {
52 jsiiDeprecationWarnings._aws_cdk_aws_ecs_ContainerDefinition(_containerDefinition);
53 }
54 catch (error) {
55 if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
56 Error.captureStackTrace(error, this.bind);
57 }
58 throw error;
59 }
60 return {
61 logDriver: 'gelf',
62 options: utils_1.stringifyOptions({
63 'gelf-address': this.props.address,
64 'gelf-compression-type': this.props.compressionType,
65 'gelf-compression-level': this.props.compressionLevel,
66 'gelf-tcp-max-reconnect': this.props.tcpMaxReconnect,
67 'gelf-tcp-reconnect-delay': this.props.tcpReconnectDelay && this.props.tcpReconnectDelay.toSeconds(),
68 ...utils_1.renderCommonLogDriverOptions(this.props),
69 }),
70 };
71 }
72}
73exports.GelfLogDriver = GelfLogDriver;
74_a = JSII_RTTI_SYMBOL_1;
75GelfLogDriver[_a] = { fqn: "@aws-cdk/aws-ecs.GelfLogDriver", version: "1.197.0" };
76//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VsZi1sb2ctZHJpdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2VsZi1sb2ctZHJpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLDZDQUEwRDtBQUMxRCxtQ0FBK0c7QUFNL0c7O0dBRUc7QUFDSCxJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDN0Isb0NBQWEsQ0FBQTtJQUNiLG9DQUFhLENBQUE7SUFDYixvQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLG1CQUFtQixHQUFuQiwyQkFBbUIsS0FBbkIsMkJBQW1CLFFBSTlCO0FBZ0REOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsc0JBQVM7SUFDMUM7Ozs7T0FJRztJQUNILFlBQTZCLEtBQXlCO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRG1CLFVBQUssR0FBTCxLQUFLLENBQW9COzs7Ozs7K0NBTjNDLGFBQWE7Ozs7UUFTdEIsYUFBYTtRQUNiLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLHFCQUFhLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFO1lBQ3pCLDZCQUFxQixDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUM5QztLQUNGO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUMsTUFBcUIsRUFBRSxvQkFBeUM7Ozs7Ozs7Ozs7UUFDMUUsT0FBTztZQUNMLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLE9BQU8sRUFBRSx3QkFBZ0IsQ0FBQztnQkFDeEIsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFDbEMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO2dCQUNuRCx3QkFBd0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQjtnQkFDckQsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO2dCQUNwRCwwQkFBMEIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFO2dCQUNwRyxHQUFHLG9DQUE0QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDNUMsQ0FBQztTQUNILENBQUM7S0FDSDs7QUFsQ0gsc0NBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB7IENvbnRhaW5lckRlZmluaXRpb24gfSBmcm9tICcuLi9jb250YWluZXItZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBCYXNlTG9nRHJpdmVyUHJvcHMgfSBmcm9tICcuL2Jhc2UtbG9nLWRyaXZlcic7XG5pbXBvcnQgeyBMb2dEcml2ZXIsIExvZ0RyaXZlckNvbmZpZyB9IGZyb20gJy4vbG9nLWRyaXZlcic7XG5pbXBvcnQgeyBlbnN1cmVJblJhbmdlLCBlbnN1cmVQb3NpdGl2ZUludGVnZXIsIHJlbmRlckNvbW1vbkxvZ0RyaXZlck9wdGlvbnMsIHN0cmluZ2lmeU9wdGlvbnMgfSBmcm9tICcuL3V0aWxzJztcblxuLy8gdjIgLSBrZWVwIHRoaXMgaW1wb3J0IGFzIGEgc2VwYXJhdGUgc2VjdGlvbiB0byByZWR1Y2UgbWVyZ2UgY29uZmxpY3Qgd2hlbiBmb3J3YXJkIG1lcmdpbmcgd2l0aCB0aGUgdjIgYnJhbmNoLlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG5pbXBvcnQgeyBDb25zdHJ1Y3QgYXMgQ29yZUNvbnN0cnVjdCB9IGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuXG4vKipcbiAqIFRoZSB0eXBlIG9mIGNvbXByZXNzaW9uIHRoZSBHRUxGIGRyaXZlciB1c2VzIHRvIGNvbXByZXNzIGVhY2ggbG9nIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBlbnVtIEdlbGZDb21wcmVzc2lvblR5cGUge1xuICBHWklQID0gJ2d6aXAnLFxuICBaTElCID0gJ3psaWInLFxuICBOT05FID0gJ25vbmUnXG59XG5cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBqb3VybmFsZCBsb2cgZHJpdmVyIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBbU291cmNlXShodHRwczovL2RvY3MuZG9ja2VyLmNvbS9jb25maWcvY29udGFpbmVycy9sb2dnaW5nL2dlbGYvKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlbGZMb2dEcml2ZXJQcm9wcyBleHRlbmRzIEJhc2VMb2dEcml2ZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgYWRkcmVzcyBvZiB0aGUgR0VMRiBzZXJ2ZXIuIHRjcCBhbmQgdWRwIGFyZSB0aGUgb25seSBzdXBwb3J0ZWQgVVJJXG4gICAqIHNwZWNpZmllciBhbmQgeW91IG11c3Qgc3BlY2lmeSB0aGUgcG9ydC5cbiAgICovXG4gIHJlYWRvbmx5IGFkZHJlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogVURQIE9ubHkgVGhlIHR5cGUgb2YgY29tcHJlc3Npb24gdGhlIEdFTEYgZHJpdmVyIHVzZXMgdG8gY29tcHJlc3MgZWFjaFxuICAgKiBsb2cgbWVzc2FnZS4gQWxsb3dlZCB2YWx1ZXMgYXJlIGd6aXAsIHpsaWIgYW5kIG5vbmUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZ3ppcFxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3Npb25UeXBlPzogR2VsZkNvbXByZXNzaW9uVHlwZTtcblxuICAvKipcbiAgICogVURQIE9ubHkgVGhlIGxldmVsIG9mIGNvbXByZXNzaW9uIHdoZW4gZ3ppcCBvciB6bGliIGlzIHRoZSBnZWxmLWNvbXByZXNzaW9uLXR5cGUuXG4gICAqIEFuIGludGVnZXIgaW4gdGhlIHJhbmdlIG9mIC0xIHRvIDkgKEJlc3RDb21wcmVzc2lvbikuIEhpZ2hlciBsZXZlbHMgcHJvdmlkZSBtb3JlXG4gICAqIGNvbXByZXNzaW9uIGF0IGxvd2VyIHNwZWVkLiBFaXRoZXIgLTEgb3IgMCBkaXNhYmxlcyBjb21wcmVzc2lvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAxXG4gICAqL1xuICByZWFkb25seSBjb21wcmVzc2lvbkxldmVsPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUQ1AgT25seSBUaGUgbWF4aW11bSBudW1iZXIgb2YgcmVjb25uZWN0aW9uIGF0dGVtcHRzIHdoZW4gdGhlIGNvbm5lY3Rpb24gZHJvcC5cbiAgICogQSBwb3NpdGl2ZSBpbnRlZ2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDNcbiAgICovXG4gIHJlYWRvbmx5IHRjcE1heFJlY29ubmVjdD86IG51bWJlcjtcblxuICAvKipcbiAgICogVENQIE9ubHkgVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgYmV0d2VlbiByZWNvbm5lY3Rpb24gYXR0ZW1wdHMuXG4gICAqIEEgcG9zaXRpdmUgaW50ZWdlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAxXG4gICAqL1xuICByZWFkb25seSB0Y3BSZWNvbm5lY3REZWxheT86IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIEEgbG9nIGRyaXZlciB0aGF0IHNlbmRzIGxvZyBpbmZvcm1hdGlvbiB0byBqb3VybmFsZCBMb2dzLlxuICovXG5leHBvcnQgY2xhc3MgR2VsZkxvZ0RyaXZlciBleHRlbmRzIExvZ0RyaXZlciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBHZWxmTG9nRHJpdmVyIGNsYXNzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIGdlbGYgbG9nIGRyaXZlciBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBHZWxmTG9nRHJpdmVyUHJvcHMpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gVmFsaWRhdGlvblxuICAgIGlmIChwcm9wcy5jb21wcmVzc2lvbkxldmVsKSB7XG4gICAgICBlbnN1cmVJblJhbmdlKHByb3BzLmNvbXByZXNzaW9uTGV2ZWwsIC0xLCA5KTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMudGNwTWF4UmVjb25uZWN0KSB7XG4gICAgICBlbnN1cmVQb3NpdGl2ZUludGVnZXIocHJvcHMudGNwTWF4UmVjb25uZWN0KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGxvZyBkcml2ZXIgaXMgY29uZmlndXJlZCBvbiBhIGNvbnRhaW5lclxuICAgKi9cbiAgcHVibGljIGJpbmQoX3Njb3BlOiBDb3JlQ29uc3RydWN0LCBfY29udGFpbmVyRGVmaW5pdGlvbjogQ29udGFpbmVyRGVmaW5pdGlvbik6IExvZ0RyaXZlckNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ0RyaXZlcjogJ2dlbGYnLFxuICAgICAgb3B0aW9uczogc3RyaW5naWZ5T3B0aW9ucyh7XG4gICAgICAgICdnZWxmLWFkZHJlc3MnOiB0aGlzLnByb3BzLmFkZHJlc3MsXG4gICAgICAgICdnZWxmLWNvbXByZXNzaW9uLXR5cGUnOiB0aGlzLnByb3BzLmNvbXByZXNzaW9uVHlwZSxcbiAgICAgICAgJ2dlbGYtY29tcHJlc3Npb24tbGV2ZWwnOiB0aGlzLnByb3BzLmNvbXByZXNzaW9uTGV2ZWwsXG4gICAgICAgICdnZWxmLXRjcC1tYXgtcmVjb25uZWN0JzogdGhpcy5wcm9wcy50Y3BNYXhSZWNvbm5lY3QsXG4gICAgICAgICdnZWxmLXRjcC1yZWNvbm5lY3QtZGVsYXknOiB0aGlzLnByb3BzLnRjcFJlY29ubmVjdERlbGF5ICYmIHRoaXMucHJvcHMudGNwUmVjb25uZWN0RGVsYXkudG9TZWNvbmRzKCksXG4gICAgICAgIC4uLnJlbmRlckNvbW1vbkxvZ0RyaXZlck9wdGlvbnModGhpcy5wcm9wcyksXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG59XG4iXX0=
\No newline at end of file