在 log4j.properties 文件中,我将 Level 设置为 ERROR。对于某些用户,我需要将 Level 设置为 DEBUG。我能够在运行时更改日志记录级别,但这将为同时访问应用程序的所有用户启用。是否有任何其他方法可以为选定用户启用日志记录?任何帮助将不胜感激。
Apps
问问题
1664 次
3 回答
1
这个问题在 logback(log4j 的继任者)中用TurboFilters解决了。请参阅标题为“MDCFilter 和 MarkerFilter 配置”的示例。如果您需要进一步的帮助,请联系 logback-user 邮件列表。
于 2009-05-29T12:49:28.007 回答
0
对,但是。
您可以使用所涉及的类+用户来命名您的记录器,而不仅仅是类,并在方法上创建记录器(或者如果您想获得幻想,将记录器缓存在用户键入的某种池中),然后配置适当地记录。
它对代码非常混乱和侵入,但由于用户是运行时属性,我不知道如何(缺少 AspectJ 或其表亲)如何避免这种混乱。
另一种选择是专门格式化您的日志消息并在日志消息中包含用户名,然后解析日志。这将为每个人启用调试(显然这可能是一个性能问题),但如果更多关注的是隔离用户日志记录而不是限制调试调用的数量,那可能是一个解决方案。
于 2009-05-21T13:00:38.880 回答