我正在使用ColoredConsoleAppender,我很担心它是否会挂起我的应用程序。 任何人有经验log4net是否会挂起应用程序?
回答
从log4net的网站: http://logging.apache.org/log4net/release/faq.html
号log4net的是不可靠的。这是一个尽力而为和失败停止记录系统。
通过fail-stop,我们的意思是log4net不会在运行时抛出意外的异常,从而可能导致应用程序崩溃。如果出于任何原因,log4net会抛出一个未捕获的异常(除了可能抛出的ArgumentException和ArgumentNullException外),请发送电子邮件至[email protected]邮件列表。未捕获的异常被视为需要立即关注的严重错误。
我个人一直都在使用它,并且从未遇到过问题。
我很担心至少ColoredConsoleAppender会挂起应用程序。我实际上遇到了一个 – user496949 2010-12-16 06:10:12
@ user496949:我遇到了同样的问题。我正在使用一个不可思议的过程并使用ColoredConsoleAppender进行追加。 – 2011-03-09 10:01:51
我实际上解决了这个问题:调用进程没有从输出流中读取,最终流是“完整的”。 – 2011-03-09 15:12:34
@ ralf.w。已经显示了完整的症状。我也可以改写,因为我最近也遇到同样的问题。
- 开发使用ColoredConsoleAppender(或ConsoleAppender)打印出日志的控制台应用程序。
- 开发另一个应用程序(在我的情况下WinForms)来执行该控制台(使用Process.Start)。 UseShellExecute = false以重定向标准输出和错误。 CreateNoWindow = true。 WindowStyle =隐藏。
然后在少数机器(或远程桌面会话)上,log4net将挂起控制台应用程序,在挂起转储中,您可以看到它奇怪地等待写入流完成。
难以在普通机器上重现(如我的),尽管log4net是开源的,但很难进一步调查。
解决方法可以如控制台应用程序最小化(而不是隐藏)和/或更改其他ProcessStartInfo设置一样简单。
- 1. WinForms应用程序挂起
- 2. NSPrintOperation挂起应用程序
- 3. Control.Invoke()挂起应用程序
- 4. StandardOutput.ReadLine()应用程序挂起使用C#
- 5. 使用SqlCeConnection.Close()挂起应用程序
- 6. 程序挂起,线程不会终止
- 7. 应用程序只是在使用线程时挂起?
- 8. 原生Android应用程序在挂起时是否应该释放OpenGL资源?
- 9. WinForms ReportViewer挂起应用程序WPF
- 10. 电子应用程序经常挂起
- 11. Grails应用程序随机挂起
- 12. WPF Windows 7应用程序挂起
- 13. 转到应用程序挂起
- 14. 按Alt键挂起应用程序
- 15. AVAudioPlayer挂起整个应用程序
- 16. 检测应用程序挂起
- 17. 挂起时应用程序崩溃
- 18. ZipFile.getEntry导致Java应用程序挂起
- 19. 应用程序挂起时关闭IPhone
- 20. 应用程序挂起而freelibrary
- 21. 可达性挂起应用程序
- 22. sockettimeoutexception导致应用程序挂起
- 23. HttpWebRequest导致应用程序挂起
- 24. 防止android应用程序挂起?
- 25. wpfgfx_0400使应用程序挂起
- 26. MFMailComposeViewController挂起我的应用程序
- 27. 关闭wxpython应用程序挂起gui
- 28. 是否有可能System.out.println是Java应用程序挂起的原因?
- 29. C#应用程序 - this.show()和this.hide()导致应用程序挂起
- 30. Java小应用程序挂起vaadin应用程序
不只是ColoredConsoleAppender。即使ConsoleAppender也以相同的方式挂起。 – 2011-03-14 11:53:05