Exemplo n.º 1
0
        /// <summary>
        /// 写客户反馈
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public virtual bool WriteFeedbackLog(FeedbackEventData data, int level)
        {
            //根据日志级别,过滤日志: 从配置中获取或者从logger获取
            if (level < this.Level)
            {
                return(true);
            }

            //从日志工厂获取日志logger: 共有四个日志logger,分别是内存、oracle、文件、系统日志
            LoggerCollectionEnumerator enumerator = (LoggerCollectionEnumerator)cacheLogger["FeedbackLog"];

            if (enumerator == null)
            {
                throw new ApplicationException("客户反馈日志Logger为空,请检查系统配置文件");
            }

            //调用logger写操作日志接口:分别写入内存或者oracle、或者文件、或者系统日志
            enumerator.Reset();
            while (enumerator.MoveNext())
            {
                //写日志
                ILogger logger = enumerator.Current;
                logger.WriteFeedbackLog(data, level);
            }
            return(true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 写客户反馈
        /// </summary>
        /// <param name="logLevel">日志级别</param>
        /// <param name="appID">应用名称</param>
        /// <param name="function">功能</param>
        /// <param name="message">错误报告</param>
        /// <param name="feedbackDesc">反馈意见</param>
        /// <param name="feedbackUser">反馈用户</param>
        /// <returns>true:成功;false:失败</returns>
        public virtual bool WriteFeedbackLog(int logLevel, string appID, string function,
                                             string message, string feedbackDesc, string feedbackUser)
        {
            FeedbackEventData eventData = new FeedbackEventData(logLevel, appID, function, message, feedbackDesc, feedbackUser);

            eventData.StationID = StationID;
            eventData.SystemID  = SystemID;
            return(WriteFeedbackLog(eventData, logLevel));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 写客户反馈
        /// </summary>
        /// <param name="data">日志内容</param>
        /// <param name="level">日志级别</param>
        /// <returns>true:成功;false:失败</returns>
        public override bool WriteFeedbackLog(FeedbackEventData data, int level)
        {
            if (level < this.logLevel)
            {
                return(true);
            }

            appender.WriteLog("Feedback", data.ToString());
            return(true);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 写客户反馈
        /// </summary>
        /// <param name="data">日志内容</param>
        /// <param name="level">日志级别</param>
        /// <returns>true:成功;false:失败</returns>
        public override bool WriteFeedbackLog(FeedbackEventData data, int level)
        {
            if (level < this.logLevel)
            {
                return(true);
            }

            data.StationID = this.StationID;
            data.SystemID  = this.SystemID;

            return(RollingFileAppender.SimpleFileLog(PrepareFileName("", LogCategory.Feedback), data.ToString()));
        }
Exemplo n.º 5
0
        /// <summary>
        /// 写客户反馈
        /// </summary>
        /// <param name="data">日志内容</param>
        /// <param name="level">日志级别</param>
        /// <returns>true:成功;false:失败</returns>
        public override bool WriteFeedbackLog(FeedbackEventData data, int level)
        {
            if (level < this.logLevel)
            {
                return(true);
            }

            data.StationID = this.StationID;
            data.SystemID  = this.SystemID;

            string commandText = string.Format("INSERT INTO LOG_FEEDBACK(APPID,FEEDTYPE,Message,FEEDBACKDESC,FEEDBACKUSER,RECORDLEVEL,CREATEDATE,STATIONID,SYSTEMID)" +
                                               "VALUES('{0}','{1}',{2},{3},'{4}',{5},to_date('{6}','yyyy-MM-dd HH24:mi:ss'),{7},{8}) ",
                                               StringHelper.GetSubStr(data.AppID, 30),
                                               StringHelper.GetSubStr(data.FeedbackType, 30),
                                               ":prmMessage",
                                               ":prmFeedbackDesc",
                                               StringHelper.GetSubStr(data.FeedbackUser, 32),
                                               data.Level,
                                               System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                               ":prmStationID",
                                               ":prmSystemID");

            #region 定义参数
            OracleParameter[] para = new OracleParameter[4];

            para[0]               = new OracleParameter();
            para[0].Direction     = ParameterDirection.Input;
            para[0].OracleType    = OracleType.VarChar;
            para[0].ParameterName = "prmSystemID";
            para[0].Value         = StringHelper.GetSubStr(data.SystemID, 30);

            para[1]               = new OracleParameter();
            para[1].Direction     = ParameterDirection.Input;
            para[1].OracleType    = OracleType.VarChar;
            para[1].ParameterName = "prmStationID";
            para[1].Value         = StringHelper.GetSubStr(data.StationID, 30);

            para[2]               = new OracleParameter();
            para[2].Direction     = ParameterDirection.Input;
            para[2].OracleType    = OracleType.VarChar;
            para[2].ParameterName = "prmMessage";
            para[2].Value         = StringHelper.GetSubStr(data.Message, 2000);

            para[3]               = new OracleParameter();
            para[3].Direction     = ParameterDirection.Input;
            para[3].OracleType    = OracleType.VarChar;
            para[3].ParameterName = "prmFeedbackDesc";
            para[3].Value         = StringHelper.GetSubStr(data.FeedbackDesc, 32);
            #endregion

            return(OracleAppender.ExecuteNonQuery(connectionString, commandText, para) > 0);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 写客户反馈
        /// </summary>
        /// <param name="data">日志内容</param>
        /// <param name="level">日志级别</param>
        /// <returns>true:成功;false:失败</returns>
        public override bool WriteFeedbackLog(FeedbackEventData data, int level)
        {
            if (level < this.logLevel)
            {
                return(true);
            }

            data.SN        = ++feedbackLogMaxSN;
            data.StationID = this.StationID;
            data.SystemID  = this.SystemID;

            feedbackLog.AddTail <FeedbackEventData>(data);
            return(true);
        }
Exemplo n.º 7
0
 /// <summary>
 /// 写客户反馈
 /// </summary>
 /// <param name="data">客户反馈日志数据</param>
 /// <param name="level">日志级别</param>
 /// <returns>true:成功;false:失败</returns>
 public abstract bool WriteFeedbackLog(FeedbackEventData data, int level);