2010-01-24 63 views
8

log4j配置入门最简单的方法是什么?log4j示例配置文件(属性文件)

+3

最简单的方式,在你的主要方法做'BasicConfigurator.configure();' – 2010-01-24 18:56:44

+1

@Alexander,你的方式是最容易,但并不总是合适的,当你与框架合作(谁不与框架时下工作)你不会写主要的方法。有时候就像在春季或者在servlet中一样,你甚至不能事先知道哪一段代码会先运行。 – flybywire 2010-01-24 19:27:58

回答

20

放在一个名为log4j.properties文件在类路径的根:

log4j.rootLogger = ALL, Console 
log4j.appender.Console=org.apache.log4j.ConsoleAppender 
log4j.appender.Console.layout=org.apache.log4j.PatternLayout 
log4j.appender.Console.layout.conversionPattern=%m%n 

没有别的需要。 Log4j会发现它并进行自我配置。

3

值得一读manual(在说明明显的风险)的。有大量的配置选项,一旦你了解和理解了可能性,那么你可以实现一些非常强大的日志记录系统。

5

绝对最简单的方法是访问Apache的log4j的网页和阅读short introduction。他们有一个示例log4j.configuration准备好被复制和粘贴。

1

如果您偶然发现并正在寻找log4j2的示例文件。我得到它的工作方式是在基础资源目录中创建文件名log4j2.xml(我使用的是maven,因此它是'src/main/resources')

然后将示例配置从手动: http://logging.apache.org/log4j/2.x/manual/configuration.html

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> 
    <Appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
    </Appenders> 
    <Loggers> 
    <Root level="error"> 
     <AppenderRef ref="Console"/> 
    </Root> 
    </Loggers> 
</Configuration> 

这会给你一个不错的简单的控制台记录器。我建议你修改这个模式,让它看起来像你想要的样子,而'Root Level ='则更具包容性。当然,阅读更强大的设置手动...

0

除了一些其他的答案,我想补充一个持久性的appender,因为这是一个使用了控制台和调试日志的最大优势;当无法实时运行应用程序代码或事件已经发生时。

!/“路径” /“文件名”将写入文件系统的根目录。 “路径”/“文件名”将写入相对于类路径根目录的路径。

log4j.rootLogger = ALL, Console, default.file 
log4j.appender.default.file=org.apache.log4j.FileAppender 
log4j.appender.default.file.file={path}/{filename} 
log4j.appender.default.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.default.file.layout.conversionPattern=%m%n 

log4j.appender.Console=org.apache.log4j.ConsoleAppender 
...