小编OJN*_*Sim的帖子

将 robocopy 输出写入控制台和日志文件

我有一个使用 Windows 表单的交互式 PowerShell,这意味着 PowerShell 脚本会在表单上显示一些控件,要求输入并最终robocopy在用户单击按钮时运行。

这是一个显示问题的简单脚本。您可以复制代码,将其保存到 Power Sell 脚本并运行。它需要一个:\tmp\tmp文件夹才能成功运行,请参阅CopyFolder函数。

function createdMainForm {
    $mainForm = New-Object System.Windows.Forms.Form

    $btn = New-Object System.Windows.Forms.Button

    $btn.Text = "RoboCopy"

    #register click event   
    $btn.add_click({Add_click})

    $mainForm.Controls.Add($btn)

    $mainForm.ShowDialog()
}

#click event
function Add_click() {
    CopyFolder
}

function CopyFolder() {
    $sourseFolder = "C:\tmp\tmp"
    $targetFolder = "C:\tmp\tmp2"

    $Logfile = "c:\tmp\a.log"

    robocopy $sourseFolder $targetFolder /tee /log:$Logfile
}

function ReadMode() {
    Write-Host Mode [1 for GUI mode]

    $mode = Read-Host

    if ($mode -eq 1) {
        createdMainForm
    } else {
        CopyFolder …
Run Code Online (Sandbox Code Playgroud)

powershell logging robocopy winforms

4
推荐指数
1
解决办法
3万
查看次数

无法覆盖谷歌应用程序脚本的console.log()

我有一个大型谷歌应用程序脚本,将大量日志行写入日志资源管理器。我希望能够根据需要禁用或启用日志记录。

下面的代码似乎在浏览器上按预期工作。这里allowlog是在代码中设置的,但它将从外部源检索。这对于本文的目的来说并不重要。

如果需要,自解压功能会覆盖console.log并阻止日志记录。

let allowLog = false; 

function func1(){
  console.log("func1 log msg");
}

(function(){
  //test log 1
  console.log("self extracting");

  //keep ref to global console.log
  const _consolelog = console.log;

  //test log 2 - verify it works
  _consolelog("self extracting2");


//override global console.log
  console.log = function(val){
    if (allowLog){
      _consolelog(val);
      _consolelog("allowing");
    }else{
      _consolelog("log disabled");
    }

  }

})();
Run Code Online (Sandbox Code Playgroud)

此代码不适用于谷歌应用程序脚本,并且日志继续写入。

在应用程序脚本中,我可以 在加载模块时查看console.log("self extracting");并 记录消息。_consolelog("self extracting2");然而,当func1调用日志时,即使allowLog = false. _consolelog("allowing");_consolelog("log disabled");没有记录。全局console.log不会被覆盖。

这是为什么,以及如何(如果有的话)可以修复它?

上述代码的预期日志为 …

javascript debugging google-apps-script console.log

3
推荐指数
1
解决办法
434
查看次数