在我的 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
吗?谢谢!