我正在使用很多“编译符号”来控制不同的东西,例如日志记录。
[Conditional("LOG_AAA")]
public static void Warning(string s)
{
swLog.WriteLine(DateTime.Now.TimeOfDay + " [Warning] " + s);
}
我可以随时打开/关闭“LOG_AAA”并控制是否需要写入某些日志。我有来自程序不同部分的多种类型的日志,我经常需要打开/关闭其中的一些。
问题是每次我更改任何设置时,我的“csproj”文件都会更新,并且当我将它存储在存储库中时,我必须提交它。
问题是如何解决这个问题?
- 不要将“csproj”文件存储在存储库中?但是这个文件包含很多重要的东西,所以恐怕我必须将它存储在存储库中
- 将“csproj”文件存储在存储库中?那么如何“提取”我经常修改的“编译符号”呢?
可能“log4net”可以解决我的问题,但我不想使用它,因为我喜欢我非常简单的日志记录机制。我不想再添加一个包含很多我不会使用的东西的库,所以请不要建议我切换到“log4net”。我同意这可能会解决我的问题,并且我可能应该切换到它,但让我们在这个问题中假设“log4net”(以及其他库)不是一个选项。此外,这个问题不仅与日志有关,而且与可用于控制任何事物(包括日志)的编译符号有关。