提交 5a899655 编写于 作者: S Sandeep Somavarapu

Do not crash if logger cannot be created

上级 781cb685
......@@ -25,6 +25,11 @@ export function createSpdLogService(processName: string, logLevel: LogLevel, log
return new NullLogService();
}
export function createRotatingLogger(name: string, filename: string, filesize: number, filecount: number): spdlog.RotatingLogger {
const _spdlog: typeof spdlog = require.__$__nodeRequire('spdlog');
return new _spdlog.RotatingLogger(name, filename, filesize, filecount);
}
class SpdLogService extends AbstractLogService implements ILogService {
_serviceBrand: any;
......
......@@ -2,15 +2,30 @@
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { createRotatingLogger } from 'vs/platform/log/node/spdlogService';
import { RotatingLogger } from 'spdlog';
interface Appender {
critical(content: string);
flush();
}
export class OutputAppender {
private appender: RotatingLogger;
private appender: Appender;
constructor(name: string, file: string) {
this.appender = new RotatingLogger(name, file, 1024 * 1024 * 30, 1);
this.appender.clearFormatters();
// Do not crash if logger cannot be loaded
try {
this.appender = createRotatingLogger(name, file, 1024 * 1024 * 30, 1);
(<RotatingLogger>this.appender).clearFormatters();
} catch (error) {
console.error(error);
this.appender = {
critical() { },
flush() { },
};
}
}
append(content: string): void {
......@@ -20,5 +35,4 @@ export class OutputAppender {
flush(): void {
this.appender.flush();
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册