我正在构建一个调用编译的可执行文件的应用程序。所述可执行文件的源代码项目文件由父应用程序的解决方案文件引用。子可执行文件是一个独立的命令行应用程序。父对控制台应用程序来说是一个有效的GUI包装。当我编译控制台应用程序时,我可以访问应用程序中内置的所有log4net功能。但是,当我编译引用控制台应用程序的源代码文件的父项目时,所有内容都可以正常运行,但不会生成日志。什么会导致这个错误发生,以及如何解决这个问题? log4net的内部调试机制不会抛出任何消息。log4net不会为引用的项目文件创建日志文件
3
A
回答
5
对于log4net的开始引用的组件中的日志,你必须:
- 呼叫的log4net的
Configure()
功能通过调用log4net.Config.XmlConfigurator.Configure()
当你的应用程序启动,或通过添加[assembly: log4net.Config.XmlConfigurator(Watch=true)]
到AssemblyInfo.cs
文件的包装器应用。 - 如果您尚未这样做,请在GUI包装的app.config中创建一个log4net配置部分。将app.config文件添加到您的项目中,并将引用库中的log4net配置信息复制到其中。
- 确保运行应用程序的帐户有权在日志目录内写入和创建文件(假设您使用基于文件的日志记录)。
有关设置你的配置查看更多资讯:http://logging.apache.org/log4net/release/manual/configuration.html
1
我知道这是为时已晚,但无论如何仅供参考。 在应用程序中设置log4net.Internal.Debug = true,您可能会在控制台上看到问题。 (以编程方式执行此操作,因为您的应用程序可能无法找到它的配置文件,这是我的情况)
在进程p上,在使用p.start()执行进程之后尝试写入stdout以此来安慰; Console.write(p.StandardOutput.ReadToEnd());
您应该能够看到问题。 (为什么log4net没有被配置或为什么它不记录) 在我的情况下,它正在寻找父进程的工作目录中的app.config文件。 (我的应用程序和它的配置存在于文件系统的其他地方)
相关问题
- 1. Log4net不为NHibernate创建日志文件
- 2. Log4net - 不创建日志文件
- 3. 使用Log4Net创建ReadOnly日志文件
- 4. log4net - 只创建一个日志文件
- 5. log4net动态创建日志文件
- 6. Log4net未创建日志文件
- 7. 未创建Log4net日志文件?
- 8. log4net日志文件没有创建
- 9. log4net将不会在Windows 7上创建日志文件
- 10. 为什么Log4Net不能在生产中创建日志文件?
- 11. NLog不会创建日志文件
- 12. log4net日志记录没有创建日志文件
- 13. log4net的文件不会创建
- 14. 使用log4net创建可用SvcTraceViewer.exe查看的日志文件
- 15. 为多个日志文件滚动的log4net文件 - 文件名
- 16. 为什么Log4Net条目在不同的项目日志文件中?
- 17. 用log4net创建动态名称的多个日志文件
- 18. 当我的项目部署时,Log4net不会生成日志文件
- 19. log4net不在Windows Server 2003上创建日志文件
- 20. log4net创建日志文件,但不写入它
- 21. Log4net无法写入事件日志,只创建文件
- 22. Log4Net C# - 按日期创建日志文件夹
- 23. 为Android应用创建日志文件
- 24. 如何使用log4net创建单个日志文件
- 25. 使用Log4Net时未创建日志文件
- 26. log4net - 日志文件不再被翻转
- 27. Log4net不写入日志文件
- 28. Log4Net配置 - 无系统创建的日志文件
- 29. 未创建日志文件?
- 30. 日志文件创建
GUI已经正确实施了log4net并运行。两者都使用assemblyinfo.cs装饰方法。 – XBigTK13X 2010-07-12 19:57:29
如果是这种情况,则应该发生log4net配置。 GUI应用程序是否具有应用程序配置文件,并使用log4net配置部分进行设置?最后,GUI应用程序日志记录是否总是或偶尔出现问题? – Joe 2010-07-12 20:24:51
每个应用程序都有一个单独的app.config文件,它被设置为使用log4net。这个问题不断发生,当GUI调用时,在控制台应用程序中记录功能从未出现过。无论设置哪个项目,Startup项目都是唯一可以访问日志记录支持的项目,尽管应用程序中的其他任何项目都可以根据需要运行。 – XBigTK13X 2010-07-12 20:49:57