この関数（ ShaderGenerator::Compile() ）を呼び出してる側からはfileNameがわかっているわけだから、呼び出し側の方でエラーログの出力をすれば良いのでは。

IDの件は、呼び出し側がIDを投げてるから、実引数か仮引数のどちらかを変える必要はある。