示例#1
0
        private static void InitializeTextTrace(IConfigReader configStore)
        {
            var filePath = configStore.ReadPathKey();

            if (!string.IsNullOrEmpty(filePath))
            {
                TraceTextFileSink.SetPath(filePath);

                InitializeTraceLevel(configStore, TraceFileSectionName, TraceSinkType.TextFile);
                InitializeFilters(configStore, TraceFileSectionName, TraceSinkType.TextFile);

                var option = configStore.ReadOptionKey();
                if (!string.IsNullOrEmpty(option))
                {
                    TraceTextFileSink.SetOption(option);
                }

                OnFilterUpdate(TraceSinkType.TextFile);
            }
        }
示例#2
0
        public void WriteToFlatEventSinks(params Variant[] variants)
        {
            var           args   = variants.Select(v => v.ToObject()).ToArray();
            StringBuilder output = new StringBuilder(512);

            output.AppendFormat(CultureInfo.InvariantCulture, this.format, args);
            string text = output.ToString();

            if (this.IsConsoleSinkEnabled())
            {
                TraceConsoleSink.Write(this.level, text);
            }

            if (IsFileSinkEnabled())
            {
                TraceTextFileSink.Write(
                    this.taskName,
                    this.eventName.EndsWith("Text") ? args[1].ToString() : this.eventName,
                    this.hasId && args.Length > 0 ? args[0].ToString() : null,
                    this.level,
                    text);
            }
        }