未在Eclipse Java中创建日志文件
我写这段代码只是为了检查我是否能够创建.log文件。代码是否正确未在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
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
重新定义它。没有重复的条目。清理你的档案!