UNPKG

6.63 kBJavaScriptView Raw
1"use strict";
2var _a;
3Object.defineProperty(exports, "__esModule", { value: true });
4exports.JsonFileLogDriver = 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 * A log driver that sends log information to json-file Logs.
11 */
12class JsonFileLogDriver extends log_driver_1.LogDriver {
13 /**
14 * Constructs a new instance of the JsonFileLogDriver class.
15 *
16 * @param props the json-file log driver configuration options.
17 */
18 constructor(props = {}) {
19 super();
20 this.props = props;
21 try {
22 jsiiDeprecationWarnings._aws_cdk_aws_ecs_JsonFileLogDriverProps(props);
23 }
24 catch (error) {
25 if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
26 Error.captureStackTrace(error, JsonFileLogDriver);
27 }
28 throw error;
29 }
30 // Validation
31 if (props.maxFile && props.maxFile < 0) {
32 throw new Error('`maxFile` must be a positive integer.');
33 }
34 }
35 /**
36 * Called when the log driver is configured on a container
37 */
38 bind(_scope, _containerDefinition) {
39 try {
40 jsiiDeprecationWarnings._aws_cdk_aws_ecs_ContainerDefinition(_containerDefinition);
41 }
42 catch (error) {
43 if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
44 Error.captureStackTrace(error, this.bind);
45 }
46 throw error;
47 }
48 return {
49 logDriver: 'json-file',
50 options: utils_1.stringifyOptions({
51 'max-size': this.props.maxSize,
52 'max-file': this.props.maxFile,
53 'compress': this.props.compress,
54 'labels': utils_1.joinWithCommas(this.props.labels),
55 'env': utils_1.joinWithCommas(this.props.env),
56 'env-regex': this.props.envRegex,
57 }),
58 };
59 }
60}
61exports.JsonFileLogDriver = JsonFileLogDriver;
62_a = JSII_RTTI_SYMBOL_1;
63JsonFileLogDriver[_a] = { fqn: "@aws-cdk/aws-ecs.JsonFileLogDriver", version: "1.197.0" };
64//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1maWxlLWxvZy1kcml2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJqc29uLWZpbGUtbG9nLWRyaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSw2Q0FBMEQ7QUFDMUQsbUNBQTJEO0FBcUMzRDs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsc0JBQVM7SUFDOUM7Ozs7T0FJRztJQUNILFlBQTZCLFFBQWdDLEVBQUU7UUFDN0QsS0FBSyxFQUFFLENBQUM7UUFEbUIsVUFBSyxHQUFMLEtBQUssQ0FBNkI7Ozs7OzsrQ0FOcEQsaUJBQWlCOzs7O1FBUzFCLGFBQWE7UUFDYixJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1NBQzFEO0tBQ0Y7SUFFRDs7T0FFRztJQUNJLElBQUksQ0FBQyxNQUFxQixFQUFFLG9CQUF5Qzs7Ozs7Ozs7OztRQUMxRSxPQUFPO1lBQ0wsU0FBUyxFQUFFLFdBQVc7WUFDdEIsT0FBTyxFQUFFLHdCQUFnQixDQUFDO2dCQUN4QixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUM5QixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUM5QixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO2dCQUMvQixRQUFRLEVBQUUsc0JBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDM0MsS0FBSyxFQUFFLHNCQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7Z0JBQ3JDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7YUFDakMsQ0FBQztTQUNILENBQUM7S0FDSDs7QUE5QkgsOENBK0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGFpbmVyRGVmaW5pdGlvbiB9IGZyb20gJy4uL2NvbnRhaW5lci1kZWZpbml0aW9uJztcbmltcG9ydCB7IEJhc2VMb2dEcml2ZXJQcm9wcyB9IGZyb20gJy4vYmFzZS1sb2ctZHJpdmVyJztcbmltcG9ydCB7IExvZ0RyaXZlciwgTG9nRHJpdmVyQ29uZmlnIH0gZnJvbSAnLi9sb2ctZHJpdmVyJztcbmltcG9ydCB7IGpvaW5XaXRoQ29tbWFzLCBzdHJpbmdpZnlPcHRpb25zIH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIHYyIC0ga2VlcCB0aGlzIGltcG9ydCBhcyBhIHNlcGFyYXRlIHNlY3Rpb24gdG8gcmVkdWNlIG1lcmdlIGNvbmZsaWN0IHdoZW4gZm9yd2FyZCBtZXJnaW5nIHdpdGggdGhlIHYyIGJyYW5jaC5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuaW1wb3J0IHsgQ29uc3RydWN0IGFzIENvcmVDb25zdHJ1Y3QgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGpzb24tZmlsZSBsb2cgZHJpdmVyIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBbU291cmNlXShodHRwczovL2RvY3MuZG9ja2VyLmNvbS9jb25maWcvY29udGFpbmVycy9sb2dnaW5nL2pzb24tZmlsZS8pXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbkZpbGVMb2dEcml2ZXJQcm9wcyBleHRlbmRzIEJhc2VMb2dEcml2ZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBzaXplIG9mIHRoZSBsb2cgYmVmb3JlIGl0IGlzIHJvbGxlZC4gQSBwb3NpdGl2ZSBpbnRlZ2VyIHBsdXMgYSBtb2RpZmllclxuICAgKiByZXByZXNlbnRpbmcgdGhlIHVuaXQgb2YgbWVhc3VyZSAoaywgbSwgb3IgZykuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gLTEgKHVubGltaXRlZClcbiAgICovXG4gIHJlYWRvbmx5IG1heFNpemU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBsb2cgZmlsZXMgdGhhdCBjYW4gYmUgcHJlc2VudC4gSWYgcm9sbGluZyB0aGUgbG9ncyBjcmVhdGVzXG4gICAqIGV4Y2VzcyBmaWxlcywgdGhlIG9sZGVzdCBmaWxlIGlzIHJlbW92ZWQuIE9ubHkgZWZmZWN0aXZlIHdoZW4gbWF4LXNpemUgaXMgYWxzbyBzZXQuXG4gICAqIEEgcG9zaXRpdmUgaW50ZWdlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAxXG4gICAqL1xuICByZWFkb25seSBtYXhGaWxlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUb2dnbGVzIGNvbXByZXNzaW9uIGZvciByb3RhdGVkIGxvZ3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvbXByZXNzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIGxvZyBkcml2ZXIgdGhhdCBzZW5kcyBsb2cgaW5mb3JtYXRpb24gdG8ganNvbi1maWxlIExvZ3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBKc29uRmlsZUxvZ0RyaXZlciBleHRlbmRzIExvZ0RyaXZlciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBKc29uRmlsZUxvZ0RyaXZlciBjbGFzcy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBqc29uLWZpbGUgbG9nIGRyaXZlciBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBKc29uRmlsZUxvZ0RyaXZlclByb3BzID0ge30pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gVmFsaWRhdGlvblxuICAgIGlmIChwcm9wcy5tYXhGaWxlICYmIHByb3BzLm1heEZpbGUgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2BtYXhGaWxlYCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlci4nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGxvZyBkcml2ZXIgaXMgY29uZmlndXJlZCBvbiBhIGNvbnRhaW5lclxuICAgKi9cbiAgcHVibGljIGJpbmQoX3Njb3BlOiBDb3JlQ29uc3RydWN0LCBfY29udGFpbmVyRGVmaW5pdGlvbjogQ29udGFpbmVyRGVmaW5pdGlvbik6IExvZ0RyaXZlckNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ0RyaXZlcjogJ2pzb24tZmlsZScsXG4gICAgICBvcHRpb25zOiBzdHJpbmdpZnlPcHRpb25zKHtcbiAgICAgICAgJ21heC1zaXplJzogdGhpcy5wcm9wcy5tYXhTaXplLFxuICAgICAgICAnbWF4LWZpbGUnOiB0aGlzLnByb3BzLm1heEZpbGUsXG4gICAgICAgICdjb21wcmVzcyc6IHRoaXMucHJvcHMuY29tcHJlc3MsXG4gICAgICAgICdsYWJlbHMnOiBqb2luV2l0aENvbW1hcyh0aGlzLnByb3BzLmxhYmVscyksXG4gICAgICAgICdlbnYnOiBqb2luV2l0aENvbW1hcyh0aGlzLnByb3BzLmVudiksXG4gICAgICAgICdlbnYtcmVnZXgnOiB0aGlzLnByb3BzLmVudlJlZ2V4LFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxufVxuIl19
\No newline at end of file