2015-05-06 147 views
1

我有一个简单的日志样本。log4j日志中的额外信息

Log4jExample:

package com.mobin.pack1; 
import java.io.IOException; 
import java.sql.SQLException; 
import org.apache.log4j.Logger; 
import org.apache.log4j.MDC; 

public class Log4jExample { 
    /* Get actual class name to be printed on */ 
    static Logger log = Logger.getLogger(Log4jExample.class); 

    public static void main(String[] args) throws IOException, SQLException { 

    MDC.put("user", "1");  
    log.info("Info"); 
    } 
} 

log4j.properties:

# Root logger option 
log4j.rootLogger=INFO, stdout 

# Direct log messages to stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%x{user} - %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

当我运行它,这是印在控制台:

{user} - 2015-05-06 12:25:31 INFO Log4jExample:17 - Info 

,但我想打印出 “1”而不是“{user}”。

什么是问题?

回答

3

我觉得你刚刚得到的情况下错误 - 尝试大写X:%X{user}

+0

@hossein嘿,如果这回答了你的问题,你能不能接受它(给复选标记)? – traveh