我正在使用库“日志记录”模块来处理对控制台和日志文件的写入。 在脚本的末尾,我有一个“暂停”,以确保当脚本运行时,命令窗口在我可以仔细阅读之前不会关闭。 所以我的代码是:
Write-Log -Level 'DEBUG' -Message 'Debug level message
Write-Log -Level 'INFO' -Message 'Info level message'
Write-Log -Level 'WARNING' -Message 'Warning level message' -Body @{source = 'Logging'}
Write-Log -Level 'ERROR' -Message 'Error level message'
Write-Log -Level 'INFO' -Message '********** IS FINISHING ************************'
暂停
The console output is:
> [DEBUG ] Debug level message
> [INFO ] Info level message
> Press Enter to continue...: [WARNING] Warning level message
> [ERROR ] Error level message
> [INFO ] ********** IS FINISHING ************************
As you can see, the 'Pause' is displayed in the middle of the Write-Log console display messages.
I thought of putting a wait before the Pause but it seems a bit naff.
Is there a proper way of dealing with this?
Logging
模块的Write-Log
函数使用queue来存储给定的消息,因此不保证同步显示输出。
为了确保队列中的所有消息都已被处理并打印相应的主机(显示器)输出,您必须使用
Wait-Logging
命令。
正如您所确认的,将
Wait-Logging
放在脚本中的 pause
命令之前会产生所需的显示输出。