java - Get TRACE logs for a session (when root logger level is WARN) -



java - Get TRACE logs for a session (when root logger level is WARN) -

i able debug specific requests on server. followed kc baltz's response on conditional logging log4j log requests of involvement own log file.

when starting process request:

fileappender fileappender = new fileappender(new patternlayout(pattern), logfilename, true); fileappender.setname(sessionid); fileappender.setthreshold(level.trace); // add together filter identify logs belonging current thread fileappender.addfilter(new mycustomfilter(sessionid)); logger.getrootlogger.addappender(fileappender); // utilize log4j mdc identify logs mdc.put("log-key", sessionid);

then after request done processing:

appender appender = logger.getrootlogger().getappender(sessionid); logger.getrootlogger().removeappender(appender); mdc.remove("log-key");

the corresponding filter:

public class mycustomfilter extends filter { private final string id; public mycustomfilter(string id) { this.id = id; } @override public int decide(loggingevent event) { object mdc = event.getmdc("log-key"); if (id.equals(mdc)) { homecoming filter.accept; } homecoming filter.deny; } }

the problem level of root logger set 'warn' , want logs (trace level) given sessionid.

java tomcat log4j

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

SQL Server : need assitance parsing delimted data and returning a long concatenated string -