繁体   English   中英

为 VSCode 扩展创建日志文件

[英]Creating a log file for a VSCode extension

将 VSCode 扩展中的日志语句写入文件的标准方法是什么?

我觉得我缺少一些工作范式......我可以找到很多方法来使控制台日志对调试我的扩展更有用(通道,像typescript-logging这样的库),但我没有看到任何为我的扩展创建日志文件的方法。

这不是一种常见的做法吗? 如果我的扩展程序的用户遇到问题是他们向我发送诊断信息以保存控制台日志的最简单方法,他们可以通过打开开发人员工具查看?

感谢您的任何建议

对于那些试图解决同样问题并寻求建议的人,我最终选择了winston.js ,它提供了typescript 的类型。

我定义了一个这样的记录器:

const logger: winston.Logger = winston.createLogger({
level: 'debug',
format: winston.format.combine(
    winston.format.simple(),
    winston.format.timestamp({
        format: 'YYYY-MM-DD HH:mm:ss'
    }),
    winston.format.printf(info => `${info.timestamp} ${info.level}: ${info.message}`)
),
transports: [
    new winston.transports.File({
        level: 'info',
        dirname: logFileDir,
        filename: logFileName
    }),
    new winston.transports.File({
        level: 'debug',
        dirname: logFileDir,
        filename: debugLogFileName
    }),
]
});
export logger;

然后可以从我的代码中的其他地方调用logger.info("whatever") ,并将其写入指定的日志文件。

您也可以通过添加Console传输将日志写入Console ,但请注意此错误该错误会阻止日志显示在 VSCode 的“调试控制台”中。 这个解决方法为我解决了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM