在我的java文件中使用log4j.jar。

时间:2014-07-08 05:06:16

标签: java logging

我有这样的类文件,使用log4j.jar在eclips IDE中很容易。但不是通过Windows命令提示符。

import log4j.Logger;
import java.io.*;
import java.sql.SQLException;
import java.util.*;

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

    public static void main(String[] args)
            throws IOException,SQLException {
        log.debug("Hello this is an debug message");
        log.info("Hello this is an info message");
    }
}

我创建了这样的log4j属性:

# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

我该怎么做才能在cmd和文件中获取日志记录

1 个答案:

答案 0 :(得分:2)

只需定义一个ConsoleAppender,日志消息将同时发送到文件和控制台。

http://logging.apache.org/log4j/1.2/manual.html

您的配置文件应为

# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = DEBUG, FILE, A1
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n


# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n