|
5 | 5 |
|
6 | 6 | import { toErrorMessage } from 'vs/base/common/errorMessage'; |
7 | 7 | import { Emitter, Event } from 'vs/base/common/event'; |
| 8 | +import { hash } from 'vs/base/common/hash'; |
8 | 9 | import { Disposable, IDisposable } from 'vs/base/common/lifecycle'; |
9 | 10 | import { ResourceMap } from 'vs/base/common/map'; |
10 | 11 | import { isWindows } from 'vs/base/common/platform'; |
@@ -587,18 +588,17 @@ export abstract class AbstractLoggerService extends Disposable implements ILogge |
587 | 588 | return this.getLoggerEntry(resourceOrId)?.logger; |
588 | 589 | } |
589 | 590 |
|
590 | | - createLogger(resource: URI, options?: ILoggerOptions): ILogger; |
591 | | - createLogger(id: string, options?: ILoggerOptions): ILogger; |
592 | 591 | createLogger(idOrResource: URI | string, options?: ILoggerOptions): ILogger { |
593 | 592 | const resource = this.toResource(idOrResource); |
| 593 | + const id = isString(idOrResource) ? idOrResource : (options?.id ?? hash(resource.toString()).toString(16)); |
594 | 594 | let logger = this._loggers.get(resource)?.logger; |
595 | 595 | const logLevel = options?.logLevel === 'always' ? LogLevel.Trace : options?.logLevel; |
596 | 596 | if (!logger) { |
597 | | - logger = this.doCreateLogger(resource, logLevel ?? this.getLogLevel(resource) ?? this.logLevel, options); |
| 597 | + logger = this.doCreateLogger(resource, logLevel ?? this.getLogLevel(resource) ?? this.logLevel, { ...options, id }); |
598 | 598 | } |
599 | 599 | const loggerEntry: LoggerEntry = { |
600 | 600 | logger, |
601 | | - info: { resource, id: options?.id ?? resource.toString(), logLevel, name: options?.name, hidden: options?.hidden, extensionId: options?.extensionId, when: options?.when } |
| 601 | + info: { resource, id, logLevel, name: options?.name, hidden: options?.hidden, extensionId: options?.extensionId, when: options?.when } |
602 | 602 | }; |
603 | 603 | this.registerLogger(loggerEntry.info); |
604 | 604 | // TODO: @sandy081 Remove this once registerLogger can take ILogger |
|
0 commit comments