diff --git a/packages/backend-common/src/reading/AzureUrlReader.ts b/packages/backend-common/src/reading/AzureUrlReader.ts index 202695eaed..ade2cd8793 100644 --- a/packages/backend-common/src/reading/AzureUrlReader.ts +++ b/packages/backend-common/src/reading/AzureUrlReader.ts @@ -162,4 +162,9 @@ export class AzureUrlReader implements UrlReader { throw new Error(`Incorrect url: ${target}, ${e}`); } } + + toString() { + const { host, token } = this.options; + return `azure{host=${host},authed=${Boolean(token)}}`; + } } diff --git a/packages/backend-common/src/reading/BitbucketUrlReader.ts b/packages/backend-common/src/reading/BitbucketUrlReader.ts index 62739ded1c..53966471af 100644 --- a/packages/backend-common/src/reading/BitbucketUrlReader.ts +++ b/packages/backend-common/src/reading/BitbucketUrlReader.ts @@ -158,4 +158,9 @@ export class BitbucketUrlReader implements UrlReader { throw new Error(`Incorrect url: ${target}, ${e}`); } } + + toString() { + const { host, auth } = this.options; + return `bitbucket{host=${host},authed=${Boolean(auth)}}`; + } } diff --git a/packages/backend-common/src/reading/FetchUrlReader.ts b/packages/backend-common/src/reading/FetchUrlReader.ts index cdaeb1ba1d..ea56f2182d 100644 --- a/packages/backend-common/src/reading/FetchUrlReader.ts +++ b/packages/backend-common/src/reading/FetchUrlReader.ts @@ -40,4 +40,8 @@ export class FetchUrlReader implements UrlReader { } throw new Error(message); } + + toString() { + return 'fetch{}'; + } } diff --git a/packages/backend-common/src/reading/GithubUrlReader.ts b/packages/backend-common/src/reading/GithubUrlReader.ts index 6902188e17..7a68890b00 100644 --- a/packages/backend-common/src/reading/GithubUrlReader.ts +++ b/packages/backend-common/src/reading/GithubUrlReader.ts @@ -229,4 +229,9 @@ export class GithubUrlReader implements UrlReader { } throw new Error(message); } + + toString() { + const { host, token } = this.config; + return `github{host=${host},authed=${Boolean(token)}}`; + } } diff --git a/packages/backend-common/src/reading/GitlabUrlReader.ts b/packages/backend-common/src/reading/GitlabUrlReader.ts index 9931b6d9d5..5b4708a188 100644 --- a/packages/backend-common/src/reading/GitlabUrlReader.ts +++ b/packages/backend-common/src/reading/GitlabUrlReader.ts @@ -187,4 +187,9 @@ export class GitlabUrlReader implements UrlReader { throw new Error(`Could not get GitLab ProjectID for: ${target}, ${e}`); } } + + toString() { + const { host, token } = this.options; + return `gitlab{host=${host},authed=${Boolean(token)}}`; + } } diff --git a/packages/backend-common/src/reading/UrlReaderPredicateMux.ts b/packages/backend-common/src/reading/UrlReaderPredicateMux.ts index 8c3f9f17d7..098fb77edc 100644 --- a/packages/backend-common/src/reading/UrlReaderPredicateMux.ts +++ b/packages/backend-common/src/reading/UrlReaderPredicateMux.ts @@ -59,4 +59,10 @@ export class UrlReaderPredicateMux implements UrlReader { throw new Error(`No reader found that could handle '${url}'`); } + + toString() { + return `predicateMux{readers=${this.readers + .map(t => t.reader) + .join(',')},fallback=${this.fallback}}`; + } } diff --git a/packages/backend-common/src/reading/UrlReaders.ts b/packages/backend-common/src/reading/UrlReaders.ts index 5119fcf560..f27bfea0a3 100644 --- a/packages/backend-common/src/reading/UrlReaders.ts +++ b/packages/backend-common/src/reading/UrlReaders.ts @@ -79,21 +79,15 @@ export class UrlReaders { */ createWithConfig(config: Config): UrlReader { const mux = new UrlReaderPredicateMux({ fallback: this.fallback }); - const readers = []; for (const factory of this.factories) { const tuples = factory({ config, logger: this.logger }); for (const tuple of tuples) { mux.register(tuple); - readers.push(tuple.reader); } } - this.logger.info( - `Registered the following UrlReaders: ${readers.join(', ')}`, - ); - return mux; } diff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts index 6cfc4bc519..ccaedb2830 100644 --- a/packages/backend/src/index.ts +++ b/packages/backend/src/index.ts @@ -50,9 +50,14 @@ import { PluginEnvironment } from './types'; function makeCreateEnv(loadedConfigs: AppConfig[]) { const config = ConfigReader.fromConfigs(loadedConfigs); + const root = getRootLogger(); + const reader = UrlReaders.default({ logger: root }).createWithConfig(config); + const discovery = SingleHostDiscovery.fromConfig(config); + + root.info(`Created UrlReader ${reader}`); return (plugin: string): PluginEnvironment => { - const logger = getRootLogger().child({ type: 'plugin', plugin }); + const logger = root.child({ type: 'plugin', plugin }); const database = createDatabaseClient( config.getConfig('backend.database'), { @@ -61,8 +66,6 @@ function makeCreateEnv(loadedConfigs: AppConfig[]) { }, }, ); - const reader = UrlReaders.default({ logger }).createWithConfig(config); - const discovery = SingleHostDiscovery.fromConfig(config); return { logger, database, config, reader, discovery }; }; } diff --git a/packages/create-app/templates/default-app/packages/backend/src/index.ts b/packages/create-app/templates/default-app/packages/backend/src/index.ts index 8165b6861a..a87be04d78 100644 --- a/packages/create-app/templates/default-app/packages/backend/src/index.ts +++ b/packages/create-app/templates/default-app/packages/backend/src/index.ts @@ -28,9 +28,14 @@ import { PluginEnvironment } from './types'; function makeCreateEnv(loadedConfigs: AppConfig[]) { const config = ConfigReader.fromConfigs(loadedConfigs); + const root = getRootLogger(); + const reader = UrlReaders.default({ logger: root }).createWithConfig(config); + const discovery = SingleHostDiscovery.fromConfig(config); + + root.info(`Created UrlReader ${reader}`); return (plugin: string): PluginEnvironment => { - const logger = getRootLogger().child({ type: 'plugin', plugin }); + const logger = root.child({ type: 'plugin', plugin }); const database = createDatabaseClient( config.getConfig('backend.database'), { @@ -39,8 +44,6 @@ function makeCreateEnv(loadedConfigs: AppConfig[]) { }, }, ); - const reader = UrlReaders.default({ logger }).createWithConfig(config); - const discovery = SingleHostDiscovery.fromConfig(config); return { logger, database, config, reader, discovery }; }; }