Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未在Eclipse Java中创建日志文件_Java_Eclipse_Logging - Fatal编程技术网

未在Eclipse Java中创建日志文件

未在Eclipse Java中创建日志文件,java,eclipse,logging,Java,Eclipse,Logging,我写这段代码只是为了检查我是否能够创建.log文件。代码是否正确 package loggingLearn; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class Log4jExampleInJavaProgramming { public Log4jExampleInJ

我写这段代码只是为了检查我是否能够创建.log文件。代码是否正确

package loggingLearn;

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class Log4jExampleInJavaProgramming {

    public Log4jExampleInJavaProgramming() {
        // TODO Auto-generated constructor stub
        System.out.println("Inside constructor");
    }
    final static Logger logger = Logger.getLogger(Log4jExampleInJavaProgramming.class);

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("Inside main");
        Log4jExampleInJavaProgramming lg = new Log4jExampleInJavaProgramming();

        PropertyConfigurator.configure("log4j2.properties");
        BasicConfigurator.configure();
        logger.info("this is the info by log4j");
        logger.error("this is the error by log4j");
        System.out.println("After logger.info11");
    }

}
我创建了log4j2.properties文件,但它没有创建.log文件

==========================================================

# initialize root logger with level ERROR for stdout and fout
log4j.rootLogger=INFO, stdout, file

# set the log level for these components
#log4j.logger.com.endeca=INFO
#log4j.logger.com.endeca.itl.web.metrics=INFO

# add a ConsoleAppender to the logger stdout to write to the console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# use a simple message format


log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

#log4j.appender.file=org.apache.RollingFileAppender
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.file.File=${E:\\eclipse-workspace\\log}/log4j2.debug
log4j.appender.file.File=C:\\log\\log4j2.debug


log4j.appender.file.MaxFileSize=1KB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender

# Set the name of the file
log4j.appender.FILE.File=${log}/log.out

# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true

# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug

# Set the append to false, overwrite
log4j.appender.FILE.Append=false

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

为什么定义
log4j.appender.file.file
两次?在
log4j.appender.file=org.apache.log4j.FileAppender
中,file必须是小写:
log4j.appender.file=org.apache.log4j.FileAppender
既然
log4j2.properties
文件定义了控制台appender,为什么要调用
BasicConfigurator.configure()
??您应该删除该行。在
log4j2.properties
文件中,为什么要定义
log4j.rootLogger=INFO,stdout,file
,然后用
log4j.rootLogger=DEBUG,file
重新定义它。没有重复的条目。清理你的档案!