私の C# プロジェクトでは、使用するのが好きConditionalAttribute
で、非常に便利です。ロギング用のクラスがたくさんあり、対応する条件属性を設定または設定解除して再コンパイルするだけで、ロギングをオンまたはオフにできます(オーバーヘッドなし)。
// this code likely is not good as HedgerControllerLogger better to be singleton
// please ignore that
public class HedgerControllerLogger
{
private StreamWriter swLog;
public HedgerControllerLogger()
{
swLog = new StreamWriter("logsGeneral/logHedgerController.txt") { AutoFlush = true };
}
[Conditional("LOG_HEDGER_CONTROLLER")]
public void Log(string message)
{
swLog.WriteLine(DateTimePrecise.Instance.CurDateTime().ToString("H:mm:ss:ffffff") + ' ' + message);
}
}
c ++で同じ効果を得るにはどうすればよいですか? 似たようなものを使用する必要がありますか?おそらく、既存のロギング ライブラリのいくつかは同じ機能を持っているのではないでしょうboost
か? ありがとう!