Path: blob/main/src/vs/platform/log/common/logService.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { Disposable } from '../../../base/common/lifecycle.js';6import { Event } from '../../../base/common/event.js';7import { ILogger, ILogService, LogLevel, MultiplexLogger } from './log.js';89export class LogService extends Disposable implements ILogService {1011declare readonly _serviceBrand: undefined;1213private readonly logger: ILogger;1415constructor(primaryLogger: ILogger, otherLoggers: ILogger[] = []) {16super();17this.logger = new MultiplexLogger([primaryLogger, ...otherLoggers]);18this._register(primaryLogger.onDidChangeLogLevel(level => this.setLevel(level)));19}2021get onDidChangeLogLevel(): Event<LogLevel> {22return this.logger.onDidChangeLogLevel;23}2425setLevel(level: LogLevel): void {26this.logger.setLevel(level);27}2829getLevel(): LogLevel {30return this.logger.getLevel();31}3233trace(message: string, ...args: any[]): void {34this.logger.trace(message, ...args);35}3637debug(message: string, ...args: any[]): void {38this.logger.debug(message, ...args);39}4041info(message: string, ...args: any[]): void {42this.logger.info(message, ...args);43}4445warn(message: string, ...args: any[]): void {46this.logger.warn(message, ...args);47}4849error(message: string | Error, ...args: any[]): void {50this.logger.error(message, ...args);51}5253flush(): void {54this.logger.flush();55}56}575859