需求说明:
1. 要求C++和C#在一个应用程序调用过程中,相关的log打印在一个文件里。
2. 要求log有多个等级。
3. 要求log文件的命名反映应用程序的调用时间。
4. 要求log文件内可以显示当前文件名,当前调用的函数名,当前的行号。
C++和C#的混合编程:
C++用作数据处理,C#用作界面显示,二者可以使用CLI交互编程。
C#中使用NLog包的尝试,
1. 当时间改变时,将生成新的log文件,没能找到能code里设定log文件名方法,所以这个方法没能调试通,在NLog的wiki上的方法并没有生成文件,需要更多时间,暂时放弃了。
2. 在NLog里要显示行号、函数名等方法没有找到。
实现:
使用C++,实现了一个完整的log生成方法,c#通过CLI调用C++函数,但是由于可变参数问题,要求在C#内设置好相关的数据,这样增加了c#部分log处理的代码量,也就是获取函数名等方法是在C#现获取的,但效果是能够满足需求的。