log4j的默认日志文件转储路径是什么

2022-09-01 03:14:18

嗨,我是编程概念的新手,我倾向于用log4j解决一些问题。所以我正在阅读Log4j教程,在那里我找到了以下代码:

package test;
import org.apache.log4j.Logger;
import java.io.*;
import java.sql.SQLException;


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");
        }

}

但是在eclipse中运行此文件后,我无法找到生成的日志文件。谁能说出文件被转储在哪里?还帮助我一些最好的网站,从中我可以从头开始学习Log4j和Java Doc。谢谢!!


答案 1

要将日志输出重定向到文件,您需要使用 FileAppender,并且需要在 log4j.properties/xml 文件中定义其他文件详细信息。下面是相同的示例属性文件:

# Root logger option
log4j.rootLogger=INFO, file

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
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

按照本教程了解有关log4j用法的更多信息:

http://www.mkyong.com/logging/log4j-log4j-properties-examples/


答案 2

您已经从这里复制了此示例代码,对吗?
现在,正如你所看到的,他们已经定义了文件,你做过同样的事情吗?如果不是,则在项目中添加以下代码,其中包含log4j的属性文件property

因此,log4j.properties文件的内容将如下所示:

# 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

根据您的要求进行更改,例如路径log


推荐