⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htmltraceoutput.cs

📁 POCKET PC,照片管理系统!提供了真正意义上的目录打开功能
💻 CS
字号:
using System;

namespace Addot.Diagnostics
{
	/// <summary>
	/// Write traces into an HTML file, this class is registered
	/// as a listener of the System.Diagnostics.Trace class.
	/// </summary>
	public class HtmlTraceOutput : System.Diagnostics.TraceListener
	{
        private System.IO.StreamWriter TraceStream;
		
        public HtmlTraceOutput(string fileName) : base()
		{
            TraceStream = new System.IO.StreamWriter(fileName + ".htm");

            TraceStream.WriteLine("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");
            TraceStream.WriteLine("<HTML><TITLE>{0}</TITLE>", fileName);
            TraceStream.WriteLine("<BODY>");
            TraceStream.WriteLine("<br></br>");
            TraceStream.WriteLine("<H2>{0}</H2>", fileName);
            TraceStream.WriteLine("<H4>{0} - {1}</H4>", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString());
            TraceStream.WriteLine("<br></br>");
            TraceStream.WriteLine("<TABLE><TR><TD align=middle><STRONG>Time</STRONG></TD><TD align=middle><STRONG>Category</STRONG></TD><TD align=middle><STRONG>Message</STRONG></TD></TR>");
        }

        public void Register()
        {
            System.Diagnostics.Debug.Listeners.Add(this);
        }
        private void OutputTrace(string category, string message)
        {
            string now = DateTime.Now.ToLongTimeString();
            TraceStream.WriteLine("<TR><TD>{0}</TD><TD>{1}</TD><TD>{2}</TD></TR>",
                now, category, message);
        }

        #region --- TraceListener ---
        public override void Close()
        {
            base.Close ();
            System.Diagnostics.Debug.Listeners.Remove(this);
            TraceStream.WriteLine("</TABLE></BODY></HTML>");
            TraceStream.Close();
            TraceStream = null;
        }

        public override void Write(object o)
        {
            OutputTrace("", o.ToString());
        }
        public override void Write(string s)
        {
            OutputTrace("", s);
        }
        public override void Write(object o, string s)
        {
            OutputTrace(o.ToString(), s);
        }
        public override void Write(string o, string s)
        {
            OutputTrace(o, s);
        }
        public override void WriteLine(object o)
        {
            OutputTrace("", o.ToString());
        }
        public override void WriteLine(string s)
        {
            OutputTrace("", s);
        }
        public override void WriteLine(object o, string s)
        {
            OutputTrace(o.ToString(), s);
        }
        public override void WriteLine(string o, string s)
        {
            OutputTrace(o, s);
        }

        #endregion
    }
}

⌨️ 快捷键说明

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