Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 为VSCode扩展名创建日志文件_Typescript_Visual Studio Code - Fatal编程技术网

Typescript 为VSCode扩展名创建日志文件

Typescript 为VSCode扩展名创建日志文件,typescript,visual-studio-code,Typescript,Visual Studio Code,让VSCode扩展名中的日志语句写入文件的标准方法是什么 我觉得在工作中有一些范例我错过了。。。我可以找到很多方法使控制台日志对调试我的扩展名(通道、库等)更有用,但我看不到为我的扩展名创建日志文件的任何方法 这不是常见的做法吗?如果我的扩展的用户遇到问题,他们向我发送诊断以保存控制台日志的最简单方法是什么?他们可以通过打开开发人员工具来查看 感谢您为那些试图解决同一问题的人提供的建议,我最终选择了为typescript提供类型的 我定义了这样一个记录器: const logger: winst

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

我觉得在工作中有一些范例我错过了。。。我可以找到很多方法使控制台日志对调试我的扩展名(通道、库等)更有用,但我看不到为我的扩展名创建日志文件的任何方法

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


感谢您为那些试图解决同一问题的人提供的建议,我最终选择了为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(“任意”)
,并将其写入指定的日志文件


通过添加
控制台
传输,您也可以将日志写入控制台,但要小心这会阻止日志显示在VSCode的“调试控制台”中。为我解决了这个问题。

扩展获得了一个他们自己的日志路径文件夹,可以将日志写入其中。至于您实际上如何在那里编写文件以及编写什么,您可以使用您想要的任何日志库,或者只使用节点API。