我的 log4j SiftAppender 不生成文件
my log4j SiftAppender doesn't generate files
我关注了这个tutorial
我有这段代码,但没有写入日志文件。
我错过了什么?
这是我的 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
这里给出一个step by step tutorial。请关注link.
Github 项目 Link: https://github.com/jbonofre/blog-mdc
更新:
您没有设置在控制台上登录的简单配置。您必须在 SiftExampleLog4j.java
class 中添加 BasicConfigurator.configure();
。
SiftExampleLog4j.java
package com.waze.rr_logger;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
public class SiftExampleLog4j {
static org.apache.log4j.Logger logger = Logger
.getLogger(SiftExampleLog4j.class);
public void log() {
// Set up a simple configuration that logs on the console.
BasicConfigurator.configure(); // You have missed to add this
org.apache.log4j.MDC.put("session_id", "MyGooApp");
logger.error("example1");
org.apache.log4j.MDC.put("session_id", "MyFooApp");
logger.error("example2");
}
}
控制台输出:
0 [main] ERROR com.waze.rr_logger.SiftExampleLog4j - example1
0 [main] ERROR com.waze.rr_logger.SiftExampleLog4j - example2
更多可以关注tutorial
我关注了这个tutorial
我有这段代码,但没有写入日志文件。
我错过了什么?
这是我的 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
这里给出一个step by step tutorial。请关注link.
Github 项目 Link: https://github.com/jbonofre/blog-mdc
更新:
您没有设置在控制台上登录的简单配置。您必须在 SiftExampleLog4j.java
class 中添加 BasicConfigurator.configure();
。
SiftExampleLog4j.java
package com.waze.rr_logger;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
public class SiftExampleLog4j {
static org.apache.log4j.Logger logger = Logger
.getLogger(SiftExampleLog4j.class);
public void log() {
// Set up a simple configuration that logs on the console.
BasicConfigurator.configure(); // You have missed to add this
org.apache.log4j.MDC.put("session_id", "MyGooApp");
logger.error("example1");
org.apache.log4j.MDC.put("session_id", "MyFooApp");
logger.error("example2");
}
}
控制台输出:
0 [main] ERROR com.waze.rr_logger.SiftExampleLog4j - example1
0 [main] ERROR com.waze.rr_logger.SiftExampleLog4j - example2
更多可以关注tutorial