我想在程序中添加一些调试行。执行完语句后,它会将当前状态记录到文件中 我是按照以下方式做到的。
public int? DoWork(int x, int y)
{
Log.Write("Received inputs. X an Y values are:"+x+","+y);
bool result = ChekData(x);
if (!result)
{
Log.Write("First input is not valid");
return null;
}
result = ChekData(y);
if (!result)
{
Log.Write("Second input is not valid");
return null;
}
Log.Write("Valid input found");
....
....
}
我觉得这不是标准的做法。在代码中保留这样的文本。搜索后我发现使用资源文件我可以保存这些消息,如名称值对。
但我不知道那个标准。请建议我。
基本用于登录我使用Log4Net
答案 0 :(得分:1)
这是非常正常的记录方式。
使用资源文件进行日志记录通常没有意义,因为:
答案 1 :(得分:1)
如果仅用于调试目的,我会执行以下操作:
设置适当的调试级别。然后应使用级别构建调试版本以显示所有消息。发布版本通常不需要调试输出。因此,请禁用释放输出的消息级别。
如果您处于发布版本或调试版本中,则可以使用以下两项内容进行区分:
#if DEBUG
// enable all tracing
#endif
或者如果您还希望您的realease构建在附加调试器时带来消息
if(System.Diagnostics.Debugger.IsAttached)
{
// Someone has attached a debugger, so give more output
}
如果你想要一个只检查调试/附加调试器的方法,你也可以包装logcall ..