Пример #1
0
        /// <summary>
        ///     Converts the <see cref="NLogEvent" /> to <see cref="LogEventInfo" />.
        /// </summary>
        /// <param name="context">
        ///     The <see cref="NLogEvent" /> object this <see cref="NLogEvent" /> is part of..
        /// </param>
        /// <param name="loggerNamePrefix">The logger name prefix to prepend in front of the logger name.</param>
        /// <returns>
        ///     Converted <see cref="LogEventInfo" />.
        /// </returns>
        internal LogEventInfo ToEventInfo(NLogEvents context, string loggerNamePrefix)
        {
            var result = new LogEventInfo(LogLevel.FromOrdinal(LevelOrdinal), loggerNamePrefix + context.Strings[LoggerOrdinal], context.Strings[MessageOrdinal]);
            result.TimeStamp = new DateTime(context.BaseTimeUtc + TimeDelta, DateTimeKind.Utc).ToLocalTime();
            for (var i = 0; i < context.LayoutNames.Count; ++i)
            {
                var layoutName = context.LayoutNames[i];
                var layoutValue = context.Strings[ValueIndexes[i]];

                result.Properties[layoutName] = layoutValue;
            }

            return result;
        }