Пример #1
0
        }       //	CLogFilter

        /// <summary>
        /// Check if a message of the given level would actually be logged
        /// </summary>
        /// <param name="record">a message logging level</param>
        /// <returns>true if the given message level is currently being logged.</returns>
        bool Filter.IsLoggable(LogRecord record)
        {
            if (record.GetLevel() == Level.SEVERE ||
                record.GetLevel() == Level.WARNING)
            {
                return(true);
            }
            //
            String loggerName = record.GetLoggerName();

            if (loggerName != null)
            {
                //	if (loggerName.toLowerCase().indexOf("focus") != -1)
                //		return true;
                if (loggerName.StartsWith("System."))
                {
                    return(false);
                }
            }
            String className = record.sourceClassName;

            if (className != null)
            {
                if (className.StartsWith("System."))
                {
                    return(false);
                }
            }
            return(true);
        }       //	isLoggable
Пример #2
0
        }       //	setFormat

        /// <summary>
        /// Get Class Method from Log Record
        /// </summary>
        /// <param name="record">record</param>
        /// <returns>class.method</returns>
        public static String GetClassMethod(LogRecord record)
        {
            StringBuilder sb        = new StringBuilder();
            String        className = record.GetLoggerName();

            if (className == null ||
                className.IndexOf("default") != -1 ||   //	anonymous logger
                className.IndexOf("global") != -1)      //	global logger
            {
                className = record.sourceClassName;
            }
            if (className != null)
            {
                int index = className.LastIndexOf('.');
                if (index != -1)
                {
                    sb.Append(className.Substring(index + 1));
                }
                else
                {
                    sb.Append(className);
                }
            }
            else
            {
                sb.Append(record.GetLoggerName());
            }
            if (record.sourceMethodName != null)
            {
                sb.Append(".").Append(record.sourceMethodName);
            }
            String retValue = sb.ToString();

            if (retValue.Equals("Trace.printStack"))
            {
                return("");
            }
            return(retValue);
        }       //	getClassMethod
Пример #3
0
        }       //	SetLevel

        /// <summary>
        /// Publish
        /// Logging.Handler#Publish()
        /// </summary>
        /// <param name="record"></param>
        public override void Publish(LogRecord record)
        {
            if (!IsLoggable(record) || m_logs == null)
            {
                return;
            }

            //	Output
            lock (m_logs)
            {
                if (m_logs.Count >= LOG_SIZE)
                {
                    m_logs.RemoveFirst();
                }
                m_logs.AddLast(record);
            }

            //	We have an error
            if (record.GetLevel() == Level.SEVERE)
            {
                if (m_errors.Count >= ERROR_SIZE)
                {
                    m_errors.RemoveFirst();
                    m_history.RemoveFirst();
                }
                //	Add Error
                m_errors.AddLast(record);
                //record.sourceClassName;	//	forces Class Name eval

                //	Create History
                List <LogRecord> history = new List <LogRecord>();
                try
                {
                    foreach (LogRecord logr in m_logs)
                    {
                        LogRecord rec = (LogRecord)logr;
                        if (rec.GetLevel() == Level.SEVERE)
                        {
                            if (history.Count == 0)
                            {
                                history.Add(rec);
                            }
                            else
                            {
                                break;          //	don't incluse previous error
                            }
                        }
                        else
                        {
                            history.Add(rec);
                            if (history.Count > 10)
                            {
                                break;          //	no more then 10 history records
                            }
                        }
                    }
                }
                catch
                {
                }
                LogRecord[] historyArray = new LogRecord[history.Count];
                int         no           = 0;
                for (int i = history.Count - 1; i >= 0; i--)
                {
                    historyArray[no++] = (LogRecord)history[i];
                }
                m_history.AddLast(historyArray);
                //	Issue Reporting
                if (m_issueError)
                {
                    String loggerName = record.GetLoggerName();         //	class name
                    //	String className = record.getSourceClassName();		//	physical class
                    String methodName = record.sourceMethodName;        //
                    if (!methodName.Equals("SaveError") &&
                        !methodName.Equals("Get_Value") &&
                        !methodName.Equals("DataSave") &&
                        loggerName.IndexOf("Issue") == -1 &&
                        loggerName.IndexOf("CConnection") == -1
                        // && VAdvantage.DataBase.DB.IsConnected()
                        )
                    {
                        m_issueError = false;
                        //MIssue.create(record);
                        m_issueError = true;
                    }
                }
            }
        }