存储Windows服务的配置和日志文件的最佳位置

时间:2011-09-23 09:08:35

标签: c# windows-services

我想知道用于存储配置文件(inixml)和 Windows服务的日志文件的最佳文件夹是什么。

根据msdn上的特殊文件夹列表, Windows Vista / 7 / Server 2008(R2)上似乎 CommonApplicationData (= C:\ProgramData )是最合适的地方:

  

CommonApplicationData =作为所有用户使用的特定于应用程序的数据的公共存储库的目录。

还有其他建议吗?

3 个答案:

答案 0 :(得分:2)

从Visual Studio生成的.NET配置文件(称为myService.exe.config)应保存在与exe相同的位置。它是XML而不是ini文件。

日志文件可以保存在C:\Logs\ServiceName或其他任何你喜欢的文件夹中,我们通常会在这样的文件夹上创建一个网络共享,这样我们就可以从其他机器上检查日志文件而无需连接到服务器Windows服务正在运行。

答案 1 :(得分:1)

对于日志记录,我认为Windows事件日志是最合适的。如果您使用Enterprise Library,那么设置非常简单:)

编辑:此外,我同意将CommonApplicationData用于配置文件是一个不错的选择。

答案 2 :(得分:0)

没有太多答案,我只是在下面恢复我的想法和听到/阅读它是最好的:

  • 配置文件(inixml)应与服务的exe文件一起存储。

  • 日志:更模块化的方式是使用第三方记录器(例如log4netNLog - 这个thread对于比较很有意义。存储日志文件的文件夹并不重要,只要它满足您的需求(服务应该有足够的权限写入文件夹,想想谁需要访问日志文件以及从哪里访问)。