在设置应用程序期间使用 Log4Net
我无法了解如何在我的设置/安装项目中使用日志记录。
我已经让 Log4net 处理已安装的应用程序,但我似乎无法记录安装/卸载过程。
我的主要问题是日志配置文件。 我想这有点像先有鸡还是先有蛋的情况——我没有办法获取刚刚安装的日志文件吗?
我有一个方法可以使用 - AppDomain.CurrentDomain.SetupInformation.ApplicationBase 查找应用程序的根目录 我通常用它来定位日志配置文件。 然而,在安装过程中,这个目录并不是安装的位置(显然),它位于 Windows 文件系统中的某个位置。
有人对此有什么想法吗?
I'm having trouble seeing how I can use logging in my setup / install project.
I've got Log4net working on installed applications, but I can't seem to log the install / uninstall process.
My main problem is with the logging config file.
I suppose it's a bit of a chicken/egg scenario - theres no way for me to grab the just-installed logging file?
I have a method that finds the root directory of my app, using - AppDomain.CurrentDomain.SetupInformation.ApplicationBase
and i normally use this to locate the logging config file.
This directory however, during install, is not where it is installing (obviously) it is somewhere within the windows filesystem.
Does anybody have any ideas to this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
考虑在代码中配置 log4net,而不是使用文件或将配置存储为自定义操作程序集的文件资源,并使用
XmlConfigurator.Configure(Stream configStream)
重载。当然,如果您想重用应用程序的配置,这不是一个干净的解决方案。
另请查看这个问题:
log4net pure code configuration with filter in c#
Consider configuring log4net in code and not using a file or storing the configuration as a file resource of your custom action assembly and using
XmlConfigurator.Configure(Stream configStream)
overload.Of course if you want to reuse the configuration of the application this is not a clean solution.
Also checkout this question:
log4net pure code configuration with filter in c#
当执行 MSI 时,您必须使用 msiexec 的日志记录机制(它不像 log4net 那样友好)。
When executing MSI's you are bound to msiexec's logging mechanisms (which is not as friendly as log4net).