我有一个Windows服务正在运行的另一个进程,打印到STDERR和STDOUT许多行。 我正在捕获这些行,并将其redirect到一些日志文件。 我想login这个日志文件,如果它的大小变得太大,不能创build另一个文件,并保存前一个。 而不是自己实现它,我想使用一些像spdlog的第三方logrotate库。
问题是,我不能明显地使进程使用logging器API和如果
我把一个非常基本的Powershell脚本放在一起,引导你正确的方向。
Function logrotate ( $activefile = "C:\activelog.text", $dest = "C:\",$activefile_size, $newfilename = "arotatedlog.text") { $activefile_size = get-item $activefile| Select-Object Name, CreationTime, @{Name="Kbytes";Expression={$_.Length / 1Kb}} if ($activefile_size.Kbytes -gt 150) {Write-Host "File size equal or greater than 150KB" $dest = "$dest + $newfilename" Get-Content $activefile | Set-Content -Path $dest } logrotate
重复的文件存在exception是你应该注意的主要事情。 根据文件阈值,您可能需要将增量编号添加到NEW文件名。
希望这可以帮助。