我编写了自己的Powershell日志记录函数Log,stream其中包含参数(写入消息的流)和message(要写入的消息).
我的想法是我可以将输出写入控制台和日志文件.我在函数中做的基本上是确定发布消息的流(使用switch语句),然后将消息写入流和日志文件:
switch ($stream) {
Verbose {
Write-Output "$logDate [VERBOSE] $message" | Out-File -FilePath $sgLogFileName -Append
Write-Verbose $message
break
}
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,是否有可能检查是否给出了-Verbose参数?
目标是仅在给出-Verbose时将消息写入日志文件.
我已经查看了以下帮助文档,但没有找到任何帮助:
- help about_Parameters
- help about_commonparameters
此外,-WhatIf参数不适用于Write-Verbose.
非常感谢你的回答!
在我的Javascript代码中,我正在检查变量是否未定义(未定义值但未定义变量)或null.修剪代码我正在使用运算符.我是这样做的:
if (myVariable === (undefined || null)) {
// Do something.
}
Run Code Online (Sandbox Code Playgroud)
我的一个朋友告诉过我,我应该把支票分成:
if (myVariable === undefined || myVariable === null) {
// Do something.
}
Run Code Online (Sandbox Code Playgroud)
这两种方法之间真的有什么区别吗?如果是,我应该使用哪一个?为什么?
我有以下项目设置
ProjectA
-- [sub moduleB]
-- file1
-- file2 etc
-- [sub moduleC]
--file1
--file2
--etc
Run Code Online (Sandbox Code Playgroud)
ProjectA是它自己的项目。子模块也是如此。每个都有自己的文件和文件夹以及 git 存储库。然而,我遇到的问题是,由于公司限制,子模块中的内容要求我通过代理连接到它。例如,ProjectA 是内部托管的,但子模块不是。将子模块视为更大应用程序的外部插件。
我目前通过手动设置代理来解决这个问题。
所以在projectA中我通过输入清除代理设置
git config --global http.proxy ""
Run Code Online (Sandbox Code Playgroud)
当我在子模块中时,我设置代理
git config --global http.proxy http://<proxy url>:8080
Run Code Online (Sandbox Code Playgroud)
我可以配置 git 以记住文件夹级别的代理吗?所以我不必一直记住(有时忘记)来运行这个配置命令。我想只做一次,然后就忘记它。