您好我正在使用多线程的服务器应用程序,它具有控制面板表单和输出控制台。我正在使用log by console输出。对于启用日志,我使用日志编译版本,对于禁用日志,我编译没有日志的版本。这是因为我使用所有代码都在行之间。
#if Enable_DEBUG_ECHO
Console.WriteLine("Something is happening");
#endif
所以如果我在文件顶部使用#define Enable_DEBUG_ECHO
,它会为echo编译。但我希望实现一个选项,用户可以通过单击或类似的方式启用/禁用日志。有人告诉我如何做到这一点。
答案 0 :(得分:2)
你知道,当你使用预编译选项(比如你的代码)时,程序只包含代码一个'版本'的代码(我的意思是,如果你定义了Enable_DEBUG_ECHO,行'Console.WriteLine(“有些东西正在发生) “);'将包含在结果dll中,但如果您没有定义Enable_DEBUG_ECHO,则不会包含它。
因此,如果您想在运行时启用/禁用日志,则应该创建没有预编译选项的日志。
所以你需要在配置文件中保存'打开/关闭'变量。而不是
if (VARIABLE_FROM_CONFIG)
{
Console.WriteLine("Something is happening");
}
答案 1 :(得分:1)