graphql-language-service-server
Version:
Server process backing the GraphQL Language Service
75 lines • 3.01 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = void 0;
const fs = __importStar(require("fs"));
const os = __importStar(require("os"));
const path_1 = require("path");
const graphql_language_service_1 = require("graphql-language-service");
class Logger {
constructor(tmpDir, stderrOnly) {
const dir = path_1.join(tmpDir || os.tmpdir(), 'graphql-language-service-logs');
try {
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
}
catch (_) {
}
this._logFilePath = path_1.join(dir, `graphql-language-service-log-${os.userInfo().username}-${getDateString()}.log`);
this._stderrOnly = stderrOnly || false;
}
error(message) {
this._log(message, graphql_language_service_1.SEVERITY.Error);
}
warn(message) {
this._log(message, graphql_language_service_1.SEVERITY.Warning);
}
info(message) {
this._log(message, graphql_language_service_1.SEVERITY.Information);
}
log(message) {
this._log(message, graphql_language_service_1.SEVERITY.Hint);
}
_log(message, severityKey) {
const timestamp = new Date().toLocaleString(undefined);
const severity = graphql_language_service_1.DIAGNOSTIC_SEVERITY[severityKey];
const pid = process.pid;
const stringMessage = String(message).trim();
const logMessage = `${timestamp} [${severity}] (pid: ${pid}) graphql-language-service-usage-logs: ${stringMessage}\n`;
fs.appendFile(this._logFilePath, logMessage, _error => { });
this._getOutputStream(severity).write(logMessage, err => {
err && console.error(err);
});
}
_getOutputStream(severity) {
if (this._stderrOnly || severity === graphql_language_service_1.DIAGNOSTIC_SEVERITY.Error) {
return process.stderr;
}
return process.stdout;
}
}
exports.Logger = Logger;
function getDateString() {
const date = new Date();
return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
}
//# sourceMappingURL=Logger.js.map