我希望能够动态控制基于 Azure 云的应用程序执行的日志记录级别。为此,我正在创建一个基于 log4net 的共享 DLL。
关于 log4net 日志记录有很多问题,但几乎所有问题都涉及在配置文件或其他文本文件中输入和操作设置。在 Azure 云中,更改 web.config 意味着重新部署。我想通过从管理门户向应用程序调用 Web 服务来更改日志记录。
我还有几个应用程序,我希望每个应用程序都使用我新的基于 log4net 的 DLL,而不必在每个配置文件中存储相同的设置,例如 Appender 详细信息。应用程序记录相同的、一致的数据。
我不想使用 Azure 诊断,因为这会降低这个大型用户群应用程序的性能。此外,我想将日志记录和诊断减少到最低限度(或完全禁用),并且只在各个级别启用它们以调试生产问题或拍摄它们的性能快照。我不想重新部署我的应用程序。
最好的方法是什么?