PowerShell - shinsuzuki/learn GitHub Wiki
-
Invoke-WebRequestのレスポンスをオブジェクトで参照
$res = Invoke-WebRequest -Method Get -Uri "https://localhost:7134/api/Home/BooleanResponse"
Write-Host $res.StatusCode
Write-Host $res.Content
$obj = ConvertFrom-Json $res.Content
Write-Host $obj.isSuccess
$result = $obj.data.isExist
if ($result) {
Write-Host "The result is true, the test passed."
}
else {
Write-Host "The result is false, the test failed."
}> .\result_check.ps1
200
{"isSuccess":true,"data":{"id":1,"message":"Success API","isExist":false}}
True
The result is false, the test failed.- log4net
log4.net.xml
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="D:\work\ps-log4net\log\test.log"/>
<appendToFile value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%-5level] [%logger] [%username] - %message%newline"/>
</layout>
<Encoding value="UTF-8"/>
<param name="AppendToFile" value="true" />
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="FileAppender"/>
</root>
</log4net>
</configuration>
sample
$appdir = [System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition) + "\";
#log4netのDLL読み込み
$dllFile = $appdir + "log4net\log4net.dll";
Add-Type -Path $dllFile;
#log4net設定ファイル読み込み
$xmlFile = $appdir + "log4net\log4net.xml";
$configFile = Get-Item $xmlFile;
[log4net.Config.XmlConfigurator]::Configure($configFile);
# ロガーの定義
$logger = [log4net.LogManager]::GetLogger($script:myInvocation.MyCommand.Name);
#log4netでログ出力
$logger.Info("info");
$logger.Debug("debug");
$logger.Warn("warn");
$logger.Error("error");
$logger.Fatal("fatal");
try {
$a = 1 / 0;
}
catch [Exception] {
$logger.Error($_.ScriptStackTrace);
$logger.Error($_.exception);
throw $_;
}