I followed this tutorial
I have this code, but no log file was written.
What am i missing?
here is my code: https://github.com/elad2109/log4j_sift/blob/master/src/main/java/com/waze/rr_logger/SiftExampleLog4j.java
import org.apache.log4j.Logger;
import org.slf4j.LoggerFactory;
public class SiftExampleLog4j {
static org.apache.log4j.Logger logger = Logger.getLogger(SiftExampleLog4j.class);
public void log() {
BasicConfigurator.configure();
org.apache.log4j.MDC.put("session_id","MyGooApp");
logger.error("example1");
org.apache.log4j.MDC.put("session_id","MyFooApp");
logger.error("example2");
}
}
log4j.properties
log4j.rootLogger=INFO, sift, osgi:VmLogAppender
# Sift appender
log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
log4j.appender.sift.key=session_id
log4j.appender.sift.default=no_session_id
log4j.appender.sift.appender=org.apache.log4j.FileAppender
log4j.appender.sift.appender.layout=org.apache.log4j.PatternLayout
log4j.appender.sift.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %m%n
log4j.appender.sift.appender.file=$\\{session_id\\}.log
log4j.appender.sift.appender.append=true
I expect to see 2 output log files: MyGooApp.log and MyFooApp.log. However I cannot find them anywhere.
Update
I have tried this:
log4j.appender.sift.appender.file=./$\\{session_id\\}.log
and yet I see now output files:

I have done it using logback. I am now sharing with you.
SiftExample.java
logback.xml
Output:
MyGooApp.log
MyFooApp.log
N.B: Please don't forget to do that
chapters.appenders.siftis added in logback.xml as<logger name="chapters.appenders.sift" level="debug" ...