[英]enable disable option of console output in multithreaded applications
您好,我正在使用多线程服务器应用程序,该应用程序具有控制面板形式和用于输出的控制台。 我正在使用控制台输出日志。 对于启用日志,我使用日志编译版本,对于禁用日志,我在不使用日志编译版本。 这是我在行之间使用所有代码所处理的。
#if Enable_DEBUG_ECHO
Console.WriteLine("Something is happening");
#endif
因此,如果在文件顶部使用#define Enable_DEBUG_ECHO
,则会进行编译以产生回声。 但是我想实现一个选项,用户可以通过该选项单击或类似方式启用/禁用日志。 有人给我一个主意,我该怎么做。
您知道,当您使用预编译选项(例如您的代码)时,该程序仅包含代码的一个“版本”(我的意思是,如果您定义Enable_DEBUG_ECHO,则行“ Console.WriteLine(“正在发生什么”)); '将包含在结果dll中,但如果您未定义Enable_DEBUG_ECHO,则不会包含在其中。
因此,如果您要启用/禁用运行时日志,则应创建不带预编译选项的日志。
因此,您需要将“打开/关闭”变量保存在配置文件中。 然后
if (VARIABLE_FROM_CONFIG)
{
Console.WriteLine("Something is happening");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.