2011-02-09 78 views
0

我封装EntLib 5日志应用程序块。我在文档中看到,每次你想记录时,你都应该看看“IsLoggingEnabled()”。这是一个方法,而不是一个属性的事实的基础上,它告诉我,是需要一些时间来完成的操作,但是...我可以缓存在一个局部变量的值,并检查是否有可能登陆或不?IsLoggingEnabled()可以在运行时更改吗?

干杯。

回答

1

你无法通过代码,更改日志记录设置,如在Enterprise Library Document说。但是,你也可以读到:

注:
运行时间更改日志 应用程序块自动 很短的时间后检测到的配置和 日志栈更新但是,您 无法通过修改代码在运行 时间记录堆栈。对于使用 你可以在运行时更新配置机制的 的详细信息,请参见在运行时 更新 配置设置。

也就是说,虽然不能以编程方式启用/禁用日志记录,但如果手动编辑配置,它可以在运行时更改。

因此,这就是为什么您每次都需要访问IsLoggingEnabled()操作,因此缓存它的值不是一个好主意。

+0

我明白了。所以,在Web环境中不是问题,因为每次更改web.config时,iis都会重置应用程序。但在Windows应用程序或服务中,您可以更改这些值,然后就会出现问题。我对吗? – vtortola 2011-02-09 14:42:17

相关问题