系统日志相关知识(学习笔记)

一、系统日志
系统日志管理:操作者、操作日期、操作描述.操作日志于DB
T_OperationLog,OperatorId,MakeDate,ActionDesc
Model的书写。
public class T_OperatorDAL
{
private T_OperatorLog ToModel(DataRow row){}
public void Insert(Guid operatorId,string actionDesc){}
}
登录时:
new T_OperationLogDAL().Insert(op.Id,"登录成功!");
new T_OperationLogDAL().Insert(op.Id,"登录失败!");
删除操作员时:
Application.Current.Properties["OperatorId"]=op.Id;//相当于Session但是不会过期
获得当前登录用户的ID封装为一个方法,CommonHelper.
new T_OperationLogDAL().Insert(Application.Current.Properties["OperatorId"],"删除管理员:"+op.UserName);
新增操作员:
修改操作员时:
新增职员时:
new T_OperationLogDAL().Insert()
修改职员信息时:
删除职员信息时:


二、日志查询
GroupBox只可以放一个控件,若里面在嵌套一Grid控件那么就可以放N个控件
搜索条件:操作员  操作日期 (是时间段)  操作描述
btnSearch_Click()
{
 
 List<string> whereList=new  List<string>();
 List<SqlParameter> parametersList=new List<SqlParameter>();
 if(cbSearchByOperator.IsChecked==True)
 {
  whereList.Add("Operator=@OperatorId");
 parametersList.Add(new SqlParameter("@OperatorId",cmbOperator.SelectValue));
 }
 if(cbSearchByMakeData.IsChecked==True)
 {}
 if(cbSearchByAction.IsChencked==true)
 {}
  if(whereList<=0)
  {
   提醒:至少选择一个查询条件
  }
 string sql="select * from T_OperationLog where  "+string.Join("  and  ",whereList);
 var logs=new T_OperationLogDAL().Search(sql,parrametersList.ToArray);
 
 【附:lucene.net全文检索;like模糊查询效率低】
}


三、系统设置
是否启用生日提醒,提前天数,公司名称,系统配置可以存到一张表中。
Id   Name       Value(T_Setting)
1   生日提醒     3
2   公司名称    北京科技
3   启用生日提醒  true
public class SettingDAL
{
 public void SetValue(string name,string value)
 {异常处理}
 public void SetValue(string name,bool value){}//构成重载
 public void SetValue(string name,int value){}
 public void GetValue(string name){异常处理}
 public  bool GetBoolValue(string name){}
 pblic int GetIntValue(srting )
}【平台开发,类库】
SettingWindow.xaml
公司名称
公司网站
启用生日提醒
生日提醒天数
工号前缀




四、配置保存
存放于本地,若用其他电脑登陆时,就不可以了,因为写在本地电脑的配置信息仅仅在自己电脑上,存于DB好呀!嘿嘿
App.config文件在本地计算机上
云操作


五、云端存储的安全性
浏览器收藏夹存于服务器端。
重要资料备份于金山快盘
异常看不见不等于没有















































原文地址:https://www.cnblogs.com/javawebsoa/p/2990532.html