コード例 #1
0
        /// <summary>
        /// Populate relational database object for logging
        /// </summary>
        /// <param name="logLevel"></param>
        /// <param name="exception"></param>
        /// <param name="note"></param>
        /// <param name="innerExceptionOnly"></param>
        /// <param name="writeToPlatform"></param>
        /// <returns></returns>
        public IRelationalDatabaseEntity PopulateRelationalDatabaseEntity(EnumCollection.LogLevel logLevel, Exception exception, string note, bool innerExceptionOnly, bool writeToPlatform)
        {
            IRelationalDatabaseEntity messageQueue = new RelationalDatabaseEntity();

            messageQueue.Error              = exception;
            messageQueue.LogLevel           = logLevel;
            messageQueue.Note               = string.IsNullOrEmpty(note) ? string.Empty : note;
            messageQueue.WrittenToPlatform  = writeToPlatform;
            messageQueue.OnlyInnerException = innerExceptionOnly;
            messageQueue.Application        = _applicationName;
            messageQueue.DateTime           = DateTime.UtcNow;

            return(messageQueue);
        }
コード例 #2
0
        /// <summary>
        /// Populate relational database object for logging
        /// </summary>
        /// <param name="logLevel"></param>
        /// <param name="query"></param>
        /// <param name="result"></param>
        /// <param name="note"></param>
        /// <param name="writeToPlatform"></param>
        /// <returns></returns>
        public IRelationalDatabaseEntity PopulateRelationalDatabaseEntity(EnumCollection.LogLevel logLevel, string query, string result, string note, bool writeToPlatform)
        {
            IRelationalDatabaseEntity messageQueue = new RelationalDatabaseEntity();

            messageQueue.Query             = string.IsNullOrEmpty(query) ? string.Empty : query;
            messageQueue.QueryResult       = string.IsNullOrEmpty(result) ? string.Empty : result;
            messageQueue.Note              = string.IsNullOrEmpty(note) ? string.Empty : note;
            messageQueue.WrittenToPlatform = writeToPlatform;
            messageQueue.LogLevel          = logLevel;
            messageQueue.Application       = _applicationName;
            messageQueue.DateTime          = DateTime.UtcNow;

            return(messageQueue);
        }
コード例 #3
0
        /// <summary>
        /// Log query
        /// </summary>
        /// <param name="logLevel"></param>
        /// <param name="query"></param>
        /// <param name="writeToPlatform"></param>
        public async void Query(EnumCollection.LogLevel logLevel, string query, bool writeToPlatform)
        {
            try
            {
                _logicHelper.LogToPlatform(QUERY_MESSAGE, query, null, writeToPlatform);

                if (_logicHelper.ShouldSendToQueue(logLevel))
                {
                    var relationalDatabase = PopulateRelationalDatabaseEntity(logLevel, query, null, null, writeToPlatform);

                    var queueMessage = _logicHelper.MessageConversion(relationalDatabase);
                    await _queueMessenger.SendMessage(queueMessage);
                }
            }
            catch (Exception ex)
            {
                _logicHelper.LogToPlatform(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name, ex, false, null, true);
            }
        }
コード例 #4
0
        /// <summary>
        /// Relation Database Error logging
        /// </summary>
        /// <param name="logLevel"></param>
        /// <param name="exception"></param>
        /// <param name="note"></param>
        /// <remarks>Specific note from services</remarks>
        /// <param name="innerExceptionOnly"></param>
        /// <param name="writeToPlatform"></param>
        public async void Error(EnumCollection.LogLevel logLevel, Exception exception, string note, bool innerExceptionOnly, bool writeToPlatform)
        {
            try
            {
                _logicHelper.LogToPlatform(DATABASE_ERROR, exception, innerExceptionOnly, note, writeToPlatform);

                if (_logicHelper.ShouldSendToQueue(logLevel))
                {
                    var relationalDatabase = PopulateRelationalDatabaseEntity(logLevel, exception, note, innerExceptionOnly, writeToPlatform);

                    var queueMessage = _logicHelper.MessageConversion(relationalDatabase);
                    await _queueMessenger.SendMessage(queueMessage);
                }
            }
            catch (Exception ex)
            {
                _logicHelper.LogToPlatform(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name, ex, false, null, true);
            }
        }