如何使main作为客户端dll和logger类应该作为服务运行

时间:2010-08-18 04:38:45

标签: c#-2.0

使用System; 使用System.Collections.Generic; 使用System.Linq; 使用System.Text;

命名空间clogger {     课程     {         static void Main(string [] args)         {             CLogger.Trace(“我的班级”);             CLogger.Error( “消息”);             CLogger.Warning( “战争”);

    }
}

使用System; 使用System.Collections.Generic; 使用System.Linq; 使用System.Text; 使用System.IO;

命名空间clogger {     CLogger班     {         static FileStream fs = new FileStream(@“c:\ vijay \ mcb.txt”,FileMode.OpenOrCreate,FileAccess.Write);         static StreamWriter m_streamwriter = new StreamWriter(fs);

    public static void Trace(string p)
    {
        m_streamwriter.WriteLine("Trace(string p)");


    }

    public static void Error(string p)
    {
        m_streamwriter.WriteLine("Error(string p)");
        m_streamwriter.BaseStream.Seek(0, SeekOrigin.End);
        m_streamwriter.WriteLine("File writer operation starts: ");
        m_streamwriter.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString());

    }

    public static void Warning(string p)
    {
        m_streamwriter.WriteLine("Warning(string p)");
        m_streamwriter.Flush();
    }

}

}

1 个答案:

答案 0 :(得分:1)

如果您正在考虑使用.Net进行日志记录,请查看Log4Net(如果您不想让您的代码依赖于第三方软件,请查看自定义TraceListener)。 Log4Net是一个开源项目,在日志记录方面经常使用。我发现this教程非常有用,虽然官方网站也会为您提供大量信息,但我发现这更容易上手。顺便说一句,我认为Log4Net的一大优点是,如果你决定要登录到xml文件,那么你的app.config就是一个简单的改变,即没有编写额外的代码。

为什么要将记录器作为服务运行?如果你只写一个本地Txt文件l4n将完成这项工作,否则你仍然可以编写自己的远程appender,然后编写一个socketlistener或wcf udp监听器,将你的数据写入一个持久的地方。