コード例 #1
0
ファイル: LogTest.aspx.cs プロジェクト: scalzdp/studydoc
        protected void Page_Load(object sender, EventArgs e)
        {
            LogEntity arg = new LogEntity();
            arg.ID = 0;//日志ID
            arg.AssociateID = 12;////外部关联ID
            arg.ModuleName = "测试模块"; //模块名称
            arg.LogContent = "测试添加日志"; //日志内容
            arg.LogType = 0; //日志类型,0:普通信息,1:错误信息,2:警告信息
            arg.OperateType = "添加";//操作类型表征含义自定义
            arg.CreateTime = DateTime.Now; //记录时间
            arg.Name = "测试记录人"; //记录人
            arg.F1 = 0; //附件字段1
            arg.F2 = String.Empty; //附件字段2

            //ILog logFile = new FileLog();
            //logFile.WriteLog(arg);

            //ILog logEvent = new EventLog();
            //logEvent.WriteLog(arg);

            ILog logDB = new DBLog();
            logDB.WriteLog(arg);

            IlogSearch log = new DBLog();
            int totalSize = 0;
            int totalPage = 0;
            List<LogEntity> result = log.SearchLogCollection(" LogType = 0", " CreateTime DESC",
                20, 2, out totalSize, out totalPage);
            //第一个参数为查询条件,第二个参数为排序条件,第三个参数为页面大小,第四个参数为当前页,第五个参数返回日志总条数,第六个参数返回日志总页数

            GridView1.DataSource = log.SearchLogCollection("", "");
            GridView1.DataBind();
        }
コード例 #2
0
ファイル: FileLog.cs プロジェクト: scalzdp/studydoc
 /// <summary>
 /// 写入日志文件
 /// </summary>
 /// <param name="arg">文件日志Entity</param>
 private void WriteLogFile(LogEntity arg)
 {
     //检查文件夹是否存在
     CheckDirectoryExist();
     // 检查文件是否存在
     FileInfo fileInfo = CheckFileExist();
     if (fileInfo.IsReadOnly == true)
     {
         fileInfo.IsReadOnly = false;
     }
     //创建只写文件流
     using (FileStream fileStream = fileInfo.OpenWrite())
     {
         //根据上面创建的文件流创建写数据流
         StreamWriter writer = new StreamWriter(fileStream);
         //设置写数据流的起始位置为文件流的末尾
         writer.BaseStream.Seek(0, SeekOrigin.End);
         //写入“Log Entry : ”
         writer.Write("Log Entry: \r\n");
         //写入当前系统时间并换行
         writer.Write("CreateTime:{0} \r\n", DateTime.Now);
         //写入日志类型并换行
         writer.Write("LogType:{0} \r\n", Tools.FileLogType(arg.LogType));
         //写入日志内容并换行
         writer.Write("Content:{0} \r\n", Tools.OrganiseContent(arg));
         //写入------------------------------------“并换行
         writer.Write("------------------------------------\r\n");
         //清空缓冲区内容,并把缓冲区内容写入基础流
         writer.Flush();
         //关闭写数据流
         writer.Close();
     }
 }
コード例 #3
0
ファイル: FileLog.cs プロジェクト: scalzdp/studydoc
        /// <summary>
        /// 写文件日志函数
        /// </summary>
        /// <param name="arg">LogFileEntity文件日志Entity</param>
        /// <returns></returns>
        public bool WriteLog(LogEntity arg)
        {
            try
            {

                WriteLogFile(arg);
                return true;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
コード例 #4
0
ファイル: EventLog.cs プロジェクト: scalzdp/studydoc
        /// <summary>
        /// 写系统日志函数
        /// </summary>
        /// <param name="arg">LogEventEntity系统日志Entity</param>
        /// <returns></returns>
        public bool WriteLog(LogEntity arg)
        {
            try
            {
                string source = ConfigurationManager.AppSettings["Scal.IT.Log.EventSouce"].ToString();

                System.Diagnostics.EventLog.WriteEntry(source, Tools.OrganiseContent(arg), Tools.EventLogType(arg.LogType));
                return true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #5
0
ファイル: Tools.cs プロジェクト: scalzdp/studydoc
 /// <summary>
 /// 组织日志内容
 /// </summary>
 /// <param name="arg"></param>
 /// <returns></returns>
 public static string OrganiseContent(LogEntity arg)
 {
     StringBuilder builder = new StringBuilder();
     builder.Append("标识:" + arg.ID);
     builder.Append(" 外部关联ID:" + arg.AssociateID);
     builder.Append(" 模块名称:" + arg.ModuleName);
     builder.Append(" 日志内容:" + arg.LogContent);
     builder.Append(" 操作类型:" + arg.OperateType);
     builder.Append(" 记录时间:" + arg.CreateTime);
     builder.Append(" 记录人:" + arg.Name);
     builder.Append(" 附件字段1:" + arg.F1);
     builder.Append(" 附件字段2:" + arg.F2);
     return builder.ToString();
 }
コード例 #6
0
ファイル: CLogBLL.cs プロジェクト: scalzdp/studydoc
        /// <summary>
        /// 添加一个 LogEntity 对象
        /// </summary>
        /// <param name="obj">将要添加的 LogEntity 对象</param>
        public static void Insert(ref LogEntity obj)
        {
            //DbTransaction trans = null; //使用事务方式:声明事务对象
            try
            {
                CLogDAL d = new CLogDAL();
                d.Insert(ref obj);
                //trans = d.CreateTransaction(); //使用事务方式:创建事务
                //d.Insert(ref obj, trans); //使用事务方式:操作数据

                //如果DAL组件返回代码不为0,说明操作错误。
                if (d.ReturnCode != 0)
                {
                    throw new Exception(d.ReturnMessage);
                }

                //trans.Commit(); //使用事务方式:提交事务
            }
            catch(Exception ex)
            {
                //trans.Rollback(); //使用事务方式:回滚事务
                throw ex;
            }
        }
コード例 #7
0
ファイル: DBLog.cs プロジェクト: scalzdp/studydoc
 /// <summary>
 /// 写文件日志函数
 /// </summary>
 /// <param name="arg">LogDBEntity数据库日志Entity</param>
 /// <returns></returns>
 public bool WriteLog(LogEntity arg)
 {
     LogEntity dbEntity = new LogEntity();
     dbEntity = (LogEntity)arg;
     try
     {
         CLogBLL.Insert(ref dbEntity);
         return true;
     }
     catch (Exception ex)
     {
         if (!CLogBLL.AddTableAndProc())
         {
             throw ex;
         }
         else
         {
             CLogBLL.Insert(ref dbEntity);
             return true;
         }
     }
 }
コード例 #8
0
ファイル: CLogDAL.cs プロジェクト: scalzdp/studydoc
 private LogEntity LoadFromReader(SqlDataReader reader)
 {
     if (reader != null && !reader.IsClosed)
     {
         LogEntity c = new LogEntity();
         if (!Convert.IsDBNull(reader["ID"])) c.ID = Convert.ToInt64(reader["ID"]);  //标识
         if (!Convert.IsDBNull(reader["AssociateID"])) c.AssociateID = Convert.ToInt32(reader["AssociateID"]);  //外部关联ID
         if (!Convert.IsDBNull(reader["ModuleName"])) c.ModuleName = Convert.ToString(reader["ModuleName"]);  //模块名称
         if (!Convert.IsDBNull(reader["LogContent"])) c.LogContent = Convert.ToString(reader["LogContent"]);  //日志内容
         if (!Convert.IsDBNull(reader["LogType"])) c.LogType = Convert.ToInt32(reader["LogType"]);  //日志类型 0:正常信息,1:错误信息,2:警告信息
         if (!Convert.IsDBNull(reader["OperateType"])) c.OperateType = Convert.ToString(reader["OperateType"]);  //操作类型
         if (!Convert.IsDBNull(reader["CreateTime"])) c.CreateTime = Convert.ToDateTime(reader["CreateTime"]);  //记录时间
         if (!Convert.IsDBNull(reader["Name"])) c.Name = Convert.ToString(reader["Name"]);  //记录人
         if (!Convert.IsDBNull(reader["F1"])) c.F1 = Convert.ToInt32(reader["F1"]);  //附件字段1
         if (!Convert.IsDBNull(reader["F2"])) c.F2 = Convert.ToString(reader["F2"]);  //附件字段2
         return c;
     }
     return null;
 }
コード例 #9
0
ファイル: CLogDAL.cs プロジェクト: scalzdp/studydoc
 private SqlParameter[] GetUpdateParameterValues(LogEntity obj)
 {
     return new SqlParameter[] {
         new SqlParameter("@ID", obj.ID),   //标识
         new SqlParameter("@AssociateID", obj.AssociateID),   //外部关联ID
         new SqlParameter("@ModuleName", obj.ModuleName),   //模块名称
         new SqlParameter("@LogContent", obj.LogContent),   //日志内容
         new SqlParameter("@LogType", obj.LogType),   //日志类型 0:正常信息,1:错误信息,2:警告信息
         new SqlParameter("@OperateType", obj.OperateType),   //操作类型
         new SqlParameter("@CreateTime", obj.CreateTime),   //记录时间
         new SqlParameter("@Name", obj.Name),   //记录人
         new SqlParameter("@F1", obj.F1),   //附件字段1
         new SqlParameter("@F2", obj.F2)   //附件字段2
     };
 }
コード例 #10
0
ファイル: CLogDAL.cs プロジェクト: scalzdp/studydoc
 private SqlParameter[] GetInsertParameterValues(LogEntity obj)
 {
     return new SqlParameter[] {
         GetSqlParameter("@ID", ParameterDirection.Output, obj.ID),   //标识
         GetSqlParameter("@AssociateID", ParameterDirection.Input, obj.AssociateID),   //外部关联ID
         GetSqlParameter("@ModuleName", ParameterDirection.Input, obj.ModuleName),   //模块名称
         GetSqlParameter("@LogContent", ParameterDirection.Input, obj.LogContent),   //日志内容
         GetSqlParameter("@LogType", ParameterDirection.Input, obj.LogType),   //日志类型 0:正常信息,1:错误信息,2:警告信息
         GetSqlParameter("@OperateType", ParameterDirection.Input, obj.OperateType),   //操作类型
         GetSqlParameter("@CreateTime", ParameterDirection.Input, obj.CreateTime),   //记录时间
         GetSqlParameter("@Name", ParameterDirection.Input, obj.Name),   //记录人
         GetSqlParameter("@F1", ParameterDirection.Input, obj.F1),   //附件字段1
         GetSqlParameter("@F2", ParameterDirection.Input, obj.F2),   //附件字段2
     };
 }
コード例 #11
0
ファイル: CLogDAL.cs プロジェクト: scalzdp/studydoc
        /// <summary>
        /// 用事务处理方式,在数据库中添加一个 LogEntity 对象
        /// </summary>
        /// <param name="obj">将要添加的 LogEntity 对象</param>
        /// <param name="myTransaction">要关联的事务</param>
        public void Insert(ref LogEntity obj, DbTransaction myTransaction)
        {
            SqlParameter[] parameterValues = GetInsertParameterValues(obj);
            using (SqlDataReader reader = SqlHelper.ExecuteReader((SqlTransaction)myTransaction, CommandType.StoredProcedure, "p_Scal_IT_Log_Insert", parameterValues))
            {
                while (reader.Read())
                {
                    LoadReturnFromReader(reader);
                }
                reader.Close();
            }

            if (_returnCode == 0) //返回代码为0,表示成功添加。
            {
                obj.ID = (long) parameterValues[0].Value; //设置新添加对象的主键值
            }
        }