我正在用C#编写一个函数,用来记录用户在我们系统中的操作并将它们保存到数据库中。具体而言,我想记录某些业务逻辑函数被调用的情况。我找到了以下这种日志记录方法:
public static LogMethod(string user, string methodName, object[] parameters, string message)
在该方法内,对每个参数调用适当的ToString()
函数。例如,在方法Foo中,它被调用如下:
void Foo(int a, SomeObject b)
{
Logger.LogMethod(username, "Foo", new object[]{a,b}, "Beginning Foo");
//etc
}
记录函数调用是一种好的方式吗?实现这个目的的最佳实践是什么?这样做会对性能产生不良影响吗?