我正在寻找一种方法让命令行程序能够将其log4net输出通过电子邮件发送给一组用户。现在,我正在读取日志文件,但我必须调用log4net.LogManager.Shutdown()来释放文件,以便我可以读取它,我必须硬编码日志文件名或解析log4net配置。我希望能够配置一个额外的appender,它会记录到我可以读取的内存位置。
我不介意为这个功能创建一个新的appender,但我不确定最好的选择是什么。我当然不想依赖其他文件,数据库或外部数据源来获取我的日志输出。
答案 0 :(得分:14)
是的,有log4net.Appender.MemoryAppender
。它有一个GetEvents()
方法,您可以使用它来获取已记录的事件。
答案 1 :(得分:1)
SmtpAppender不适合这种用途吗?它直接发送电子邮件。