在控制台应用程序中是否有类似Enterprise Library Patterns & Practices的内容?我特意寻找可用于记录异常日志/电子邮件通知的内容,而不是在每个SendExceptionMail
块上调用catch
函数。
答案 0 :(得分:2)
我使用log4Net来做这类事情,我通常使用多个appender配置可执行文件并完全省去Console.Write()
。我通常(至少)有一个
ColoredConsoleAppender
或ConsoleAppender
以登录控制台RollingFileAppender
创建日志文件。只需添加SmtpAppender
即可通过电子邮件发送活动。添加其他appender以根据需要登录到Windows事件日志或SQL数据库。
有关配置示例,请参阅http://logging.apache.org/log4net/release/config-examples.html。
暂且不说......为什么你需要多个catch
块?你不应该catch
- 除非你实际上处理例外 - 除非有一些例外:我建议捕获,记录和继续例外处理过程或机器边界交叉。
相反,让异常冒泡。在catch
中有一个记录异常的Main()
。更简单。