相关疑难解决方法(0)

动态更改log4j日志级别

有哪些动态更改log4j日志级别的方法,以便我不必重新部署应用程序.在这些情况下,这些变化是永久性的吗?

java logging log4j runtime

120
推荐指数
4
解决办法
15万
查看次数

使用log4j进行条件记录

我工作的Web应用程序偶尔会为某些用户开发数据完整性问题.我想打开跟踪级别日志记录,但由于我们每秒处理100个请求跟踪日志记录,因此每个请求都是不可能的.

有没有办法让log4j能够有条件地记录?换句话说,我希望只有在特定用户发出请求时才能获取跟踪日志.由于我事先不知道哪些用户会受到影响,我不能简单地暂时硬编码用户名.

编辑:

我想我需要更清楚一些.我可以轻松地为日志语句添加条件.例如

Logger logger = Logger.getLogger("foo");
String usernameFilter = "piglet";
String username = request.getParameter("username");
logger.setLevel(usernameFilter.equals(username) ? Level.TRACE : Level.INFO);
if (logger.isTraceEnabled()) {
   logger.trace("blah blah blah");
}
Run Code Online (Sandbox Code Playgroud)

困难在于动态地改变设置日志级别的条件.换句话说,在上面的示例中,我如何设置usernameFilter的值,而不是硬编码.

java log4j

20
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×2

log4j ×2

logging ×1

runtime ×1