src/vs/platform/telemetry/common/telemetryService.ts/TelemetryService/_log
class TelemetryService:	private _log(eventName: string, eventLevel: TelemetryLevel, data?: ITelemetryData): Promise<any> {
		// don't send events when the user is optout
		if (this._telemetryLevel < eventLevel) {
			return Promise.resolve(undefined);
		}

		return this._commonProperties.then(values => {

			// add experiment properties
			data = mixin(data, this._experimentProperties);

			// remove all PII from data
			data = cleanData(data as Record<string, any>, this._cleanupPatterns);

			// add common properties
			data = mixin(data, values);

			// Log to the appenders of sufficient level
			this._appenders.forEach(a => a.log(eventName, data));

		}, err => {
			// unsure what to do now...
			console.error(err);
		});
	}