Remove-BuildLogFile gets only called one time and immediate afterwards the function Start-LogTranscript.
A starting Transcript will anyway override the content of an existing file.
so for example the .\build.log allready exists then it will get empty and the new transcript will write its content into it.
So the Function doesnt do anything in the end.
It can be removed as its unnecessary.
For the Start-LogTranscript , too many functions are harmful as you will have to jump alot in your Editor and such one liners should be just in the code where the former method gets called
the current code
Remove-BuildLogFile
Start-LogTranscript
Should be rewritten to that, if you included the LogPath in the Settings.
Start-Transcript $Settings.LogPath
If you dont want to include the Logpath in the settings it should be like that
Start-Transcript ".\build.log"
The Methods Remove-BuildLogFile and Start-LogTranscript should be deleted as they cause more confusion.
Powershell is not built like c# where you want to code into the future and prepare for alterations.
Powershell is more designed for "write once and be able to understand it when you read it in 5 years"