我正在使用Visual Studio 2012在VB.NET中构建Windows服务。我在项目中包含了log4net,以处理有关服务执行的日志信息。我创建了一个log4net.config
文件,在其Copy to Output Directory
属性中标记为Copy if newer
。
我在解决方案中添加了一个Installshield LE安装项目,并在要包含的文件中选择了Myproject.Primary Output
。我希望我的log4net.config
文件包含在安装程序中,因为它被标记为在输出中复制,但当我实际安装它时,它没有包含在内。我已经做了研究,发现我可以将log4net.config的Build Action
转换为Content
,然后也可以将Myproject.Content Files
包含在我的安装项目中。事实证明它是有效的。
然而,在阅读了SO上的这个答案后,我注意到构建操作->内容是用来将文件作为流获取的,这并不是我真正想要的
我想知道是否还有其他方法,一种推荐的方法,将构建中的log4net.config文件包含到我的Installshield安装项目中?
在App.config文件中添加与日志相关的配置,如下所示。我正在使用它来托管窗口服务中的WCF服务,它对我来说很好。
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="LogglyAppender" />
</root>
<appender name="LogglyAppender" type="log4net.loggly.LogglyAppender, log4net-loggly">
<rootUrl value="https://logs-01.loggly.com/" />
<inputKey value="abcdefgh" />
<tag value="log4net" />
</appender>
</log4net>