Ive worked out so far there is possibilities to add fields set in the MDC to the file header aswell as in the pattern string for the file appender.
As of now no log file is being set.
Here is the code so far.
MDC.put("x-event", "stop");
MDC.put("x-category", "stream");
logStats = (Logger)LoggerFactory.getLogger(loggerName);
if (null == logStats.getAppender(appenderName))
{
layout = new PatternLayout();
layout.setPattern("%X{x-event} %X{x-category} - %msg%n");
layout.setFileHeader("x-event \t x-category");
layout.setContext(logStats.getLoggerContext());
layout.start();
appender = new RollingFileAppender();
policy = new TimeBasedRollingPolicy();
policy.setContext(logStats.getLoggerContext());
policy.start();
appender.setContext(logStats.getLoggerContext());
appender.setName(appenderName);
appender.setLayout(layout);
policy.setFileNamePattern(path + logFilePattern);
appender.setRollingPolicy(policy);
appender.start();
logStats.addAppender(appender);
}
Currently I have to call
logStats.error("stop");
In my log4j class it was
logStats.stop("message");
which present the stop level inside it, but cant find and implementation to subclass as yet.
Let me know thanks.