コード例 #1
0
        private string ColumNameOrDefault(StandardColumn column)
        {
            switch (column)
            {
            case StandardColumn.Message:
                return(_columnOptions.Message.ColumnName ?? "Message");

            case StandardColumn.MessageTemplate:
                return(_columnOptions.MessageTemplate.ColumnName ?? "MessageTemplate");

            case StandardColumn.Level:
                return(_columnOptions.Level.ColumnName ?? "Level");

            case StandardColumn.TimeStamp:
                return(_columnOptions.TimeStamp.ColumnName ?? "TimeStamp");

            case StandardColumn.Exception:
                return(_columnOptions.Exception.ColumnName ?? "Exception");

            case StandardColumn.Properties:
                return(_columnOptions.Properties.ColumnName ?? "Properties");

            case StandardColumn.LogEvent:
                return(_columnOptions.LogEvent.ColumnName ?? "LogEvent");

            default:
                throw new ArgumentException(nameof(column));
            }
        }
コード例 #2
0
        internal KeyValuePair <string, object> GetStandardColumnNameAndValue(StandardColumn column, LogEvent logEvent)
        {
            switch (column)
            {
            case StandardColumn.Message:
                return(new KeyValuePair <string, object>(columnOptions.Message.ColumnName, logEvent.RenderMessage(formatProvider)));

            case StandardColumn.MessageTemplate:
                return(new KeyValuePair <string, object>(columnOptions.MessageTemplate.ColumnName, logEvent.MessageTemplate.Text));

            case StandardColumn.Level:
                return(new KeyValuePair <string, object>(columnOptions.Level.ColumnName, columnOptions.Level.StoreAsEnum ? (object)logEvent.Level : logEvent.Level.ToString()));

            case StandardColumn.TimeStamp:
                return(new KeyValuePair <string, object>(columnOptions.TimeStamp.ColumnName, columnOptions.TimeStamp.ConvertToUtc ? logEvent.Timestamp.ToUniversalTime().DateTime : logEvent.Timestamp.DateTime));

            case StandardColumn.Exception:
                return(new KeyValuePair <string, object>(columnOptions.Exception.ColumnName, logEvent.Exception != null ? logEvent.Exception.ToString() : null));

            case StandardColumn.Properties:
                return(new KeyValuePair <string, object>(columnOptions.Properties.ColumnName, ConvertPropertiesToXmlStructure(logEvent.Properties)));

            case StandardColumn.LogEvent:
                return(new KeyValuePair <string, object>(columnOptions.LogEvent.ColumnName, LogEventToJson(logEvent)));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #3
0
        internal KeyValuePair <string, object> GetStandardColumnNameAndValue(StandardColumn column, LogEvent logEvent)
        {
            switch (column)
            {
            case StandardColumn.Message:
                return(new KeyValuePair <string, object>(ColumnOptions.Message.ColumnName, logEvent.RenderMessage(FormatProvider)));

            case StandardColumn.MessageTemplate:
                return(new KeyValuePair <string, object>(ColumnOptions.MessageTemplate.ColumnName, logEvent.MessageTemplate.Text));

            case StandardColumn.Level:
                return(new KeyValuePair <string, object>(ColumnOptions.Level.ColumnName, ColumnOptions.Level.StoreAsEnum ? (object)logEvent.Level : logEvent.Level.ToString()));

            case StandardColumn.TimeStamp:
                return(GetTimeStampStandardColumnNameAndValue(logEvent));

            case StandardColumn.Exception:
                return(new KeyValuePair <string, object>(ColumnOptions.Exception.ColumnName, logEvent.Exception?.ToString()));

            case StandardColumn.Properties:
                return(new KeyValuePair <string, object>(ColumnOptions.Properties.ColumnName, ConvertPropertiesToXmlStructure(logEvent.Properties)));

            case StandardColumn.LogEvent:
                return(new KeyValuePair <string, object>(ColumnOptions.LogEvent.ColumnName, RenderLogEventColumn(logEvent)));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #4
0
        private void CompareStandardColumn(DataTable result, StandardColumn standardColumn, string standardColumnName)
        {
            var column     = _columnOptions.GetStandardColumnOptions(standardColumn).AsDataColumn();
            var dataColumn = result.Columns[standardColumnName];

            AssertColumnsEqual(column, dataColumn);
        }
コード例 #5
0
        private void WriteIfPresent(StandardColumn col, LogEvent logEvent, TextWriter output, ref string precedingDelimiter)
        {
            if (!_columnOptions.Store.Contains(col))
            {
                return;
            }

            output.Write(precedingDelimiter);
            precedingDelimiter = _commaDelimiter;
            var colData = WritePropertyName(logEvent, output, col);
            var value   = (colData.Value ?? string.Empty).ToString();

            JsonValueFormatter.WriteQuotedJsonString(value, output);
        }
コード例 #6
0
        /// <summary>
        /// Returns a reference to the Standard Column-specific subclass (ie. properties like ColumnOptions.Id)
        /// </summary>
        internal SqlColumn GetStandardColumnOptions(StandardColumn standardColumn)
        {
            switch (standardColumn)
            {
            case StandardColumn.Id: return(Id);

            case StandardColumn.Level: return(Level);

            case StandardColumn.TimeStamp: return(TimeStamp);

            case StandardColumn.LogEvent: return(LogEvent);

            case StandardColumn.Message: return(Message);

            case StandardColumn.MessageTemplate: return(MessageTemplate);

            case StandardColumn.Exception: return(Exception);

            case StandardColumn.Properties: return(Properties);

            default: return(null);
            }
        }
コード例 #7
0
        private KeyValuePair <string, object> WritePropertyName(LogEvent le, TextWriter writer, StandardColumn col)
        {
            var colData = _standardColumnsDataGenerator.GetStandardColumnNameAndValue(col, le);

            JsonValueFormatter.WriteQuotedJsonString(colData.Key, writer);
            writer.Write(":");

            return(colData);
        }