大家好,我有个windows服务,日志想用文件方式和控制台方式同时记录效果就是我这服务开启之后,日志会写入文件,同时我可以用个控制台程序显示当前的日志记录。想请教大家的是,log4net本身能实现这样的功能吗,如果能,这个控制台程序怎么写?

解决方案 »

  1.   

        <!--定义输出到控制台命令行中-->
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        <!--定义输出到windows事件中-->
        <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
    参见log4net使用详解 
    http://blog.csdn.net/zhoufoxcn/archive/2008/03/26/2220533.aspx
      

  2.   

    谢谢孟子的回复,配置文件这个我都配了log4net的基本操作我也会只是现在我的需求中控制台程序应该怎么写?
      

  3.   

    这个文章讲的比较多
    http://www.beefycode.com/category/log4net.aspx?page=4一会我测试下
      

  4.   


    谢谢大牛,就是我把log4net封装成一个common类,然后这个windows服务调用它写日志,文件记录是没问题的只是怎么做到我打开一个控制台也能及时的输入日志,做到实时监控的状态,不需要每次打开日志文件
    我是觉得log4net有这功能的,因为它本身就支持控制台输入的,可能是有些地方我没用对如果它不支持这么做,我只好自己写程序每次读日志文件的最后几行了
      

  5.   


    我觉得我的问题应该是怎么用一个控制台程序实时监视log4net生成的日志问题 
      

  6.   

    如果这么说,那你的问题就不是log4net的使用问题了,你应该写个程序去读取log4net的日志了