UNPKG

8.72 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, this.constructor);
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.156.1" };
76//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VsZi1sb2ctZHJpdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2VsZi1sb2ctZHJpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLDZDQUEwRDtBQUMxRCxtQ0FBK0c7QUFNL0c7O0dBRUc7QUFDSCxJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDN0Isb0NBQWEsQ0FBQTtJQUNiLG9DQUFhLENBQUE7SUFDYixvQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLG1CQUFtQixHQUFuQiwyQkFBbUIsS0FBbkIsMkJBQW1CLFFBSTlCO0FBZ0REOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsc0JBQVM7SUFDMUM7Ozs7T0FJRztJQUNILFlBQTZCLEtBQXlCO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRG1CLFVBQUssR0FBTCxLQUFLLENBQW9COzs7Ozs7Ozs7O1FBR3BELGFBQWE7UUFDYixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixxQkFBYSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM5QztRQUVELElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRTtZQUN6Qiw2QkFBcUIsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDOUM7S0FDRjtJQUVEOztPQUVHO0lBQ0ksSUFBSSxDQUFDLE1BQXFCLEVBQUUsb0JBQXlDOzs7Ozs7Ozs7O1FBQzFFLE9BQU87WUFDTCxTQUFTLEVBQUUsTUFBTTtZQUNqQixPQUFPLEVBQUUsd0JBQWdCLENBQUM7Z0JBQ3hCLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQ2xDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZTtnQkFDbkQsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7Z0JBQ3JELHdCQUF3QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZTtnQkFDcEQsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRTtnQkFDcEcsR0FBRyxvQ0FBNEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQzVDLENBQUM7U0FDSCxDQUFDO0tBQ0g7O0FBbENILHNDQW1DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgeyBDb250YWluZXJEZWZpbml0aW9uIH0gZnJvbSAnLi4vY29udGFpbmVyLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgQmFzZUxvZ0RyaXZlclByb3BzIH0gZnJvbSAnLi9iYXNlLWxvZy1kcml2ZXInO1xuaW1wb3J0IHsgTG9nRHJpdmVyLCBMb2dEcml2ZXJDb25maWcgfSBmcm9tICcuL2xvZy1kcml2ZXInO1xuaW1wb3J0IHsgZW5zdXJlSW5SYW5nZSwgZW5zdXJlUG9zaXRpdmVJbnRlZ2VyLCByZW5kZXJDb21tb25Mb2dEcml2ZXJPcHRpb25zLCBzdHJpbmdpZnlPcHRpb25zIH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIHYyIC0ga2VlcCB0aGlzIGltcG9ydCBhcyBhIHNlcGFyYXRlIHNlY3Rpb24gdG8gcmVkdWNlIG1lcmdlIGNvbmZsaWN0IHdoZW4gZm9yd2FyZCBtZXJnaW5nIHdpdGggdGhlIHYyIGJyYW5jaC5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuaW1wb3J0IHsgQ29uc3RydWN0IGFzIENvcmVDb25zdHJ1Y3QgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcblxuLyoqXG4gKiBUaGUgdHlwZSBvZiBjb21wcmVzc2lvbiB0aGUgR0VMRiBkcml2ZXIgdXNlcyB0byBjb21wcmVzcyBlYWNoIGxvZyBtZXNzYWdlLlxuICovXG5leHBvcnQgZW51bSBHZWxmQ29tcHJlc3Npb25UeXBlIHtcbiAgR1pJUCA9ICdnemlwJyxcbiAgWkxJQiA9ICd6bGliJyxcbiAgTk9ORSA9ICdub25lJ1xufVxuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgam91cm5hbGQgbG9nIGRyaXZlciBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gKlxuICogW1NvdXJjZV0oaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vY29uZmlnL2NvbnRhaW5lcnMvbG9nZ2luZy9nZWxmLylcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZWxmTG9nRHJpdmVyUHJvcHMgZXh0ZW5kcyBCYXNlTG9nRHJpdmVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIGFkZHJlc3Mgb2YgdGhlIEdFTEYgc2VydmVyLiB0Y3AgYW5kIHVkcCBhcmUgdGhlIG9ubHkgc3VwcG9ydGVkIFVSSVxuICAgKiBzcGVjaWZpZXIgYW5kIHlvdSBtdXN0IHNwZWNpZnkgdGhlIHBvcnQuXG4gICAqL1xuICByZWFkb25seSBhZGRyZXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVEUCBPbmx5IFRoZSB0eXBlIG9mIGNvbXByZXNzaW9uIHRoZSBHRUxGIGRyaXZlciB1c2VzIHRvIGNvbXByZXNzIGVhY2hcbiAgICogbG9nIG1lc3NhZ2UuIEFsbG93ZWQgdmFsdWVzIGFyZSBnemlwLCB6bGliIGFuZCBub25lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGd6aXBcbiAgICovXG4gIHJlYWRvbmx5IGNvbXByZXNzaW9uVHlwZT86IEdlbGZDb21wcmVzc2lvblR5cGU7XG5cbiAgLyoqXG4gICAqIFVEUCBPbmx5IFRoZSBsZXZlbCBvZiBjb21wcmVzc2lvbiB3aGVuIGd6aXAgb3IgemxpYiBpcyB0aGUgZ2VsZi1jb21wcmVzc2lvbi10eXBlLlxuICAgKiBBbiBpbnRlZ2VyIGluIHRoZSByYW5nZSBvZiAtMSB0byA5IChCZXN0Q29tcHJlc3Npb24pLiBIaWdoZXIgbGV2ZWxzIHByb3ZpZGUgbW9yZVxuICAgKiBjb21wcmVzc2lvbiBhdCBsb3dlciBzcGVlZC4gRWl0aGVyIC0xIG9yIDAgZGlzYWJsZXMgY29tcHJlc3Npb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3Npb25MZXZlbD86IG51bWJlcjtcblxuICAvKipcbiAgICogVENQIE9ubHkgVGhlIG1heGltdW0gbnVtYmVyIG9mIHJlY29ubmVjdGlvbiBhdHRlbXB0cyB3aGVuIHRoZSBjb25uZWN0aW9uIGRyb3AuXG4gICAqIEEgcG9zaXRpdmUgaW50ZWdlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAzXG4gICAqL1xuICByZWFkb25seSB0Y3BNYXhSZWNvbm5lY3Q/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRDUCBPbmx5IFRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0IGJldHdlZW4gcmVjb25uZWN0aW9uIGF0dGVtcHRzLlxuICAgKiBBIHBvc2l0aXZlIGludGVnZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMVxuICAgKi9cbiAgcmVhZG9ubHkgdGNwUmVjb25uZWN0RGVsYXk/OiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBBIGxvZyBkcml2ZXIgdGhhdCBzZW5kcyBsb2cgaW5mb3JtYXRpb24gdG8gam91cm5hbGQgTG9ncy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdlbGZMb2dEcml2ZXIgZXh0ZW5kcyBMb2dEcml2ZXIge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgR2VsZkxvZ0RyaXZlciBjbGFzcy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBnZWxmIGxvZyBkcml2ZXIgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogR2VsZkxvZ0RyaXZlclByb3BzKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIFZhbGlkYXRpb25cbiAgICBpZiAocHJvcHMuY29tcHJlc3Npb25MZXZlbCkge1xuICAgICAgZW5zdXJlSW5SYW5nZShwcm9wcy5jb21wcmVzc2lvbkxldmVsLCAtMSwgOSk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnRjcE1heFJlY29ubmVjdCkge1xuICAgICAgZW5zdXJlUG9zaXRpdmVJbnRlZ2VyKHByb3BzLnRjcE1heFJlY29ubmVjdCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBsb2cgZHJpdmVyIGlzIGNvbmZpZ3VyZWQgb24gYSBjb250YWluZXJcbiAgICovXG4gIHB1YmxpYyBiaW5kKF9zY29wZTogQ29yZUNvbnN0cnVjdCwgX2NvbnRhaW5lckRlZmluaXRpb246IENvbnRhaW5lckRlZmluaXRpb24pOiBMb2dEcml2ZXJDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dEcml2ZXI6ICdnZWxmJyxcbiAgICAgIG9wdGlvbnM6IHN0cmluZ2lmeU9wdGlvbnMoe1xuICAgICAgICAnZ2VsZi1hZGRyZXNzJzogdGhpcy5wcm9wcy5hZGRyZXNzLFxuICAgICAgICAnZ2VsZi1jb21wcmVzc2lvbi10eXBlJzogdGhpcy5wcm9wcy5jb21wcmVzc2lvblR5cGUsXG4gICAgICAgICdnZWxmLWNvbXByZXNzaW9uLWxldmVsJzogdGhpcy5wcm9wcy5jb21wcmVzc2lvbkxldmVsLFxuICAgICAgICAnZ2VsZi10Y3AtbWF4LXJlY29ubmVjdCc6IHRoaXMucHJvcHMudGNwTWF4UmVjb25uZWN0LFxuICAgICAgICAnZ2VsZi10Y3AtcmVjb25uZWN0LWRlbGF5JzogdGhpcy5wcm9wcy50Y3BSZWNvbm5lY3REZWxheSAmJiB0aGlzLnByb3BzLnRjcFJlY29ubmVjdERlbGF5LnRvU2Vjb25kcygpLFxuICAgICAgICAuLi5yZW5kZXJDb21tb25Mb2dEcml2ZXJPcHRpb25zKHRoaXMucHJvcHMpLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxufVxuIl19
\No newline at end of file