@ngworker/lumberjack
Version:
Lumberjack is a versatile Angular logging library, specifically designed to be extended and customized
64 lines • 8.35 kB
JavaScript
import { isProductionEnvironmentToken } from '../environment/is-production-environment.token';
import { lumberjackFormatLog } from '../formatting/lumberjack-format-log';
import { LumberjackLogFormatter } from '../formatting/lumberjack-log-formatter.service';
import { LumberjackLogDriverLogger } from '../log-drivers/lumberjack-log-driver-logger';
import { LumberjackLogFactory } from '../logging/lumberjack-log-factory';
import { LumberjackService } from '../logging/lumberjack.service';
import { LumberjackTimeService } from '../time/lumberjack-time.service';
import { defaultDevelopmentLevels } from './default-development-levels';
import { defaultProductionLevels } from './default-production-levels';
import { lumberjackConfigToken } from './lumberjack-config.token';
import { lumberjackLogDriverConfigToken } from './lumberjack-log-driver-config.token';
import { lumberjackOptionsToken } from './lumberjack-options.token';
export function configFactory(isProductionEnvironment, options = {}) {
return {
format: lumberjackFormatLog,
levels: isProductionEnvironment ? defaultProductionLevels : defaultDevelopmentLevels,
...options,
};
}
export function logDriverConfigFactory({ levels }) {
return {
levels,
};
}
/**
* Returns the [dependency-injection providers](https://angular.io/guide/glossary#provider)
* for the `LumberjackOptions`, `LumberjackConfig` and `LumberjackLogDriverConfig`.
*
* @usageNotes
*
* The function is useful when you want to bootstrap an application using
* the `bootstrapApplication` function and want to make available the `Lumberjack` providers.
*
* ```typescript
* bootstrapApplication(RootComponent, {
* providers: [
* provideLumberjack({...})
* ]
* });
* ```
*
* @publicApi
*/
export function provideLumberjack(options) {
return [
{ provide: lumberjackOptionsToken, useValue: options },
{
deps: [isProductionEnvironmentToken],
provide: lumberjackConfigToken,
useFactory: (isProductionEnvironment) => configFactory(isProductionEnvironment, options),
},
{
deps: [lumberjackConfigToken],
provide: lumberjackLogDriverConfigToken,
useFactory: logDriverConfigFactory,
},
{ provide: LumberjackService, useClass: LumberjackService },
LumberjackLogFormatter,
LumberjackLogDriverLogger,
LumberjackLogFactory,
LumberjackTimeService,
];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1sdW1iZXJqYWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmd3b3JrZXIvbHVtYmVyamFjay9zcmMvbGliL2NvbmZpZ3VyYXRpb24vcHJvdmlkZS1sdW1iZXJqYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXRGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXBFLE1BQU0sVUFBVSxhQUFhLENBQUMsdUJBQWdDLEVBQUUsVUFBNkIsRUFBRTtJQUM3RixPQUFPO1FBQ0wsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixNQUFNLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyx3QkFBd0I7UUFDcEYsR0FBRyxPQUFPO0tBQ1gsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsRUFBRSxNQUFNLEVBQW9CO0lBQ2pFLE9BQU87UUFDTCxNQUFNO0tBQ1AsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE9BQTJCO0lBQzNELE9BQU87UUFDTCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO1FBQ3REO1lBQ0UsSUFBSSxFQUFFLENBQUMsNEJBQTRCLENBQUM7WUFDcEMsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixVQUFVLEVBQUUsQ0FBQyx1QkFBZ0MsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQztTQUNsRztRQUNEO1lBQ0UsSUFBSSxFQUFFLENBQUMscUJBQXFCLENBQUM7WUFDN0IsT0FBTyxFQUFFLDhCQUE4QjtZQUN2QyxVQUFVLEVBQUUsc0JBQXNCO1NBQ25DO1FBQ0QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFO1FBQzNELHNCQUFzQjtRQUN0Qix5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtLQUN0QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGlzUHJvZHVjdGlvbkVudmlyb25tZW50VG9rZW4gfSBmcm9tICcuLi9lbnZpcm9ubWVudC9pcy1wcm9kdWN0aW9uLWVudmlyb25tZW50LnRva2VuJztcbmltcG9ydCB7IGx1bWJlcmphY2tGb3JtYXRMb2cgfSBmcm9tICcuLi9mb3JtYXR0aW5nL2x1bWJlcmphY2stZm9ybWF0LWxvZyc7XG5pbXBvcnQgeyBMdW1iZXJqYWNrTG9nRm9ybWF0dGVyIH0gZnJvbSAnLi4vZm9ybWF0dGluZy9sdW1iZXJqYWNrLWxvZy1mb3JtYXR0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMdW1iZXJqYWNrTG9nRHJpdmVyTG9nZ2VyIH0gZnJvbSAnLi4vbG9nLWRyaXZlcnMvbHVtYmVyamFjay1sb2ctZHJpdmVyLWxvZ2dlcic7XG5pbXBvcnQgeyBMdW1iZXJqYWNrTG9nRmFjdG9yeSB9IGZyb20gJy4uL2xvZ2dpbmcvbHVtYmVyamFjay1sb2ctZmFjdG9yeSc7XG5pbXBvcnQgeyBMdW1iZXJqYWNrU2VydmljZSB9IGZyb20gJy4uL2xvZ2dpbmcvbHVtYmVyamFjay5zZXJ2aWNlJztcbmltcG9ydCB7IEx1bWJlcmphY2tUaW1lU2VydmljZSB9IGZyb20gJy4uL3RpbWUvbHVtYmVyamFjay10aW1lLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBkZWZhdWx0RGV2ZWxvcG1lbnRMZXZlbHMgfSBmcm9tICcuL2RlZmF1bHQtZGV2ZWxvcG1lbnQtbGV2ZWxzJztcbmltcG9ydCB7IGRlZmF1bHRQcm9kdWN0aW9uTGV2ZWxzIH0gZnJvbSAnLi9kZWZhdWx0LXByb2R1Y3Rpb24tbGV2ZWxzJztcbmltcG9ydCB7IGx1bWJlcmphY2tDb25maWdUb2tlbiB9IGZyb20gJy4vbHVtYmVyamFjay1jb25maWcudG9rZW4nO1xuaW1wb3J0IHsgbHVtYmVyamFja0xvZ0RyaXZlckNvbmZpZ1Rva2VuIH0gZnJvbSAnLi9sdW1iZXJqYWNrLWxvZy1kcml2ZXItY29uZmlnLnRva2VuJztcbmltcG9ydCB7IEx1bWJlcmphY2tMb2dEcml2ZXJDb25maWcgfSBmcm9tICcuL2x1bWJlcmphY2stbG9nLWRyaXZlci5jb25maWcnO1xuaW1wb3J0IHsgbHVtYmVyamFja09wdGlvbnNUb2tlbiB9IGZyb20gJy4vbHVtYmVyamFjay1vcHRpb25zLnRva2VuJztcbmltcG9ydCB7IEx1bWJlcmphY2tDb25maWcgfSBmcm9tICcuL2x1bWJlcmphY2suY29uZmlnJztcbmltcG9ydCB7IEx1bWJlcmphY2tPcHRpb25zIH0gZnJvbSAnLi9sdW1iZXJqYWNrLm9wdGlvbnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlnRmFjdG9yeShpc1Byb2R1Y3Rpb25FbnZpcm9ubWVudDogYm9vbGVhbiwgb3B0aW9uczogTHVtYmVyamFja09wdGlvbnMgPSB7fSk6IEx1bWJlcmphY2tDb25maWcge1xuICByZXR1cm4ge1xuICAgIGZvcm1hdDogbHVtYmVyamFja0Zvcm1hdExvZyxcbiAgICBsZXZlbHM6IGlzUHJvZHVjdGlvbkVudmlyb25tZW50ID8gZGVmYXVsdFByb2R1Y3Rpb25MZXZlbHMgOiBkZWZhdWx0RGV2ZWxvcG1lbnRMZXZlbHMsXG4gICAgLi4ub3B0aW9ucyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZ0RyaXZlckNvbmZpZ0ZhY3RvcnkoeyBsZXZlbHMgfTogTHVtYmVyamFja0NvbmZpZyk6IE9taXQ8THVtYmVyamFja0xvZ0RyaXZlckNvbmZpZywgJ2lkZW50aWZpZXInPiB7XG4gIHJldHVybiB7XG4gICAgbGV2ZWxzLFxuICB9O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIFtkZXBlbmRlbmN5LWluamVjdGlvbiBwcm92aWRlcnNdKGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9nbG9zc2FyeSNwcm92aWRlcilcbiAqIGZvciB0aGUgYEx1bWJlcmphY2tPcHRpb25zYCwgYEx1bWJlcmphY2tDb25maWdgIGFuZCBgTHVtYmVyamFja0xvZ0RyaXZlckNvbmZpZ2AuXG4gKlxuICogQHVzYWdlTm90ZXNcbiAqXG4gKiBUaGUgZnVuY3Rpb24gaXMgdXNlZnVsIHdoZW4geW91IHdhbnQgdG8gYm9vdHN0cmFwIGFuIGFwcGxpY2F0aW9uIHVzaW5nXG4gKiB0aGUgYGJvb3RzdHJhcEFwcGxpY2F0aW9uYCBmdW5jdGlvbiBhbmQgd2FudCB0byBtYWtlIGF2YWlsYWJsZSB0aGUgYEx1bWJlcmphY2tgIHByb3ZpZGVycy5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBib290c3RyYXBBcHBsaWNhdGlvbihSb290Q29tcG9uZW50LCB7XG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgcHJvdmlkZUx1bWJlcmphY2soey4uLn0pXG4gKiAgIF1cbiAqIH0pO1xuICogYGBgXG4gKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUx1bWJlcmphY2sob3B0aW9ucz86IEx1bWJlcmphY2tPcHRpb25zKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAgeyBwcm92aWRlOiBsdW1iZXJqYWNrT3B0aW9uc1Rva2VuLCB1c2VWYWx1ZTogb3B0aW9ucyB9LFxuICAgIHtcbiAgICAgIGRlcHM6IFtpc1Byb2R1Y3Rpb25FbnZpcm9ubWVudFRva2VuXSxcbiAgICAgIHByb3ZpZGU6IGx1bWJlcmphY2tDb25maWdUb2tlbixcbiAgICAgIHVzZUZhY3Rvcnk6IChpc1Byb2R1Y3Rpb25FbnZpcm9ubWVudDogYm9vbGVhbikgPT4gY29uZmlnRmFjdG9yeShpc1Byb2R1Y3Rpb25FbnZpcm9ubWVudCwgb3B0aW9ucyksXG4gICAgfSxcbiAgICB7XG4gICAgICBkZXBzOiBbbHVtYmVyamFja0NvbmZpZ1Rva2VuXSxcbiAgICAgIHByb3ZpZGU6IGx1bWJlcmphY2tMb2dEcml2ZXJDb25maWdUb2tlbixcbiAgICAgIHVzZUZhY3Rvcnk6IGxvZ0RyaXZlckNvbmZpZ0ZhY3RvcnksXG4gICAgfSxcbiAgICB7IHByb3ZpZGU6IEx1bWJlcmphY2tTZXJ2aWNlLCB1c2VDbGFzczogTHVtYmVyamFja1NlcnZpY2UgfSxcbiAgICBMdW1iZXJqYWNrTG9nRm9ybWF0dGVyLFxuICAgIEx1bWJlcmphY2tMb2dEcml2ZXJMb2dnZXIsXG4gICAgTHVtYmVyamFja0xvZ0ZhY3RvcnksXG4gICAgTHVtYmVyamFja1RpbWVTZXJ2aWNlLFxuICBdO1xufVxuIl19