/// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="element">LogListenerElement对象</param>
        /// <remarks>
        /// 根据配置信息创建FormattedEventLogTraceListener对象
        /// <code source="..\Framework\TestProjects\DeluxeWorks.Library.Test\\Logging\ListenerTest.cs"
        /// lang="cs" region="EventLogTraceListener Test" tittle="创建Listener对象"></code>
        /// </remarks>
        public FormattedEventLogTraceListener(LoggerListenerConfigurationElement element)
        {
            this.formatterName = element.LogFormatterName;
            this.Name          = element.Name;

            this.logName = element.LogName;

            if (this.logName.IsNullOrEmpty())
            {
                this.logName = FormattedEventLogTraceListener.DefaultLogName;
            }

            this.source = element.Source;

            if (this.source.IsNullOrEmpty())
            {
                this.source = string.IsNullOrEmpty(this.logName) ? FormattedEventLogTraceListener.DefaultSource : this.logName;
            }

            this.SlaveListener = new EventLogTraceListener();
        }
Пример #2
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="element">LogListenerElement对象</param>
        /// <remarks>
        /// <code source="..\Framework\TestProjects\DeluxeWorks.Library.Test\Logging\ListenerTest.cs"
        /// lang="cs" region="FlatFileTraceListener Test" tittle="创建Listener对象"></code>
        /// </remarks>
        public FlatFileTraceListener(LoggerListenerConfigurationElement element)
        {
            this.Name = element.Name;

            string filename = element.FileName;

            if (filename.IsNullOrEmpty())
            {
                filename = element.Name + ".log";
            }

            filename = RootFileNameAndEnsureTargetFolderExists(filename);

            FileStream fs = new FileStream(filename, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
            TextWriterTraceListener textlistener = new TextWriterTraceListener(fs, this.Name);

            this.SlaveListener = textlistener;

            this.header = element.Header;

            if (this.header.IsNullOrEmpty())
            {
                this.header = string.Empty;
            }

            this.footer = element.Footer;

            if (this.footer.IsNullOrEmpty())
            {
                this.footer = string.Empty;
            }

            this.formatterName = element.LogFormatterName;

            //string filename;
            //element.ExtendedAttributes.TryGetValue("fileName", out filename);
        }
 private static FormattedTraceListenerBase GetListenerFromConfig(LoggerListenerConfigurationElement element)
 {
     return((FormattedTraceListenerBase)TypeCreator.CreateInstance(element.Type, element));
 }