textwritertracelistener.cs

来自「蓝牙通讯」· CS 代码 · 共 86 行

CS
86
字号
using System;
using System.IO;
using System.Diagnostics;

namespace OpenNETCF.Diagnostics 
{
	public class TextWriterTraceListener : TraceListener 
	{
		TextWriter writer;
	
		public TextWriterTraceListener() : base("TextWriter") 
		{
		}
        
		public TextWriterTraceListener(Stream stream) : this(stream, string.Empty) 
		{
		}

		public TextWriterTraceListener(Stream stream, string name) : base(name) 
		{
			if (stream == null) throw new ArgumentNullException("stream");
			this.writer = new StreamWriter(stream);                        
		}

		public TextWriterTraceListener(TextWriter writer) : this(writer, string.Empty) 
		{
		}

		public TextWriterTraceListener(TextWriter writer, string name) 
			: base(name) 
		{
			if (writer == null) throw new ArgumentNullException("writer");
			this.writer = writer;
		}

		public TextWriterTraceListener(string fileName) 
			: this(new StreamWriter(fileName, true)) 
		{
		}

		public TextWriterTraceListener(string fileName, string name) 
			: this(new StreamWriter(fileName, true), name) 
		{
		}
        
		public TextWriter Writer 
		{
			get { return writer; }
			set { writer = value; }
		}
        
		public override void Close() 
		{
			if (writer != null) 
				writer.Close();
		}

		protected void Dispose(bool disposing) 
		{
			if (disposing) 
				this.Close();
		}                

		public override void Flush() 
		{
			if (writer == null) return;
			writer.Flush();
		}

		public override void Write(string message) 
		{
			if (writer == null) return;   
			if (NeedIndent) WriteIndent();
			writer.Write(message);
		}

		public override void WriteLine(string message) 
		{
			if (writer == null) return;   
			if (NeedIndent) WriteIndent();
			writer.WriteLine(message);
			NeedIndent = true;
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?