c# - 保存Windows窗体应用程序事件日志的最佳方法是什么?

SiH*_*Lee 0 c# logging

每次用户都会添加,删除或编辑数据.我想保留它的记录.所以系统管理员可以看看以后谁做了什么.

例如

  private AddUser(User id)
    {
        if(id != null)
        {
            MessageBox.Show("Item Updated");
            string sqlAddUser = "INSERT INTO 'DATABASE.USER' VALUES (Item.ID, Item.Name, Item.Address)";
            if(db.SqlNonQuery(sqlAddUser) //If successful
            {
                ///To DO : Add system log into database
                ///Ex. string sqlLog = DateTime.Now + User.ID + " added Item ID " + item.ID; 
            }
            else
            {
                MessageBox.Show("Error");            
            }    
        }
    }
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法或常规做法呢?谢谢.

Dan*_*ann 5

一般来说,我建议使用Log4Net ; 它高度可配置,效果很好.

但是,如果您不想花时间实现第三方组件并希望登录到数据库,则可以通过存储过程进行数据访问,并将INSERT日志记录表作为SP的一部分.