我正在运行一个网站和一个Windows服务。我能够在运行时使用我制作的页面更改我的网站的日志级别,并且我想对我的Windows服务执行相同的操作(即:使用页面来监视我正在使用的不同级别的日志服务)。
你会有一些提示和技巧来实现吗?或者,每次我需要更详细地记录日志时,我是否应该辞职并上传新版本的log4net文件(这个上传有点棘手且非常烦人)?
感谢您的想法,
[编辑] 遗憾的是,这里列出的答案都没有针对我的问题。我将从机器A上运行的WebSite上的机器A上的服务访问log4net。因此,访问机器A的Web可以允许我更改机器B的服务线程的日志级别。
答案 0 :(得分:1)
如果您的Windows服务正在使用ConfigureAndWatch,您应该能够编辑配置文件,就像您使用该网页所做的一样,如果您将配置文件放在可通过网络访问的位置页。
您还必须更改在Windows服务中加载的配置文件的路径,但这应该是一个解决方案。
答案 1 :(得分:0)
您可以修改配置文件,让应用程序接收更改。诀窍是您无法使用app.config / web.config文件来执行此操作。否则,在进行更改之前,需要重新启动应用程序。这是一个SO问题,有几个答案可能有效:
.net dynamically refresh app.config
您也可以通过以下代码进行更改:
http://weblogs.asp.net/psteele/archive/2010/05/03/tweaking-log4net-settings-programmatically.aspx
答案 2 :(得分:0)
只有我找到的东西,它可以连接我的服务和Web应用程序来访问数据库中的同一个表,并定期检查此表以更改servizio中的日志级别。
如果有人有更好的想法,我会全力以赴。