gpt4 book ai didi

java - org.slf4j.Logger 记录到控制台,如何记录到文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:21:36 26 4
gpt4 key购买 nike

我正在使用 org.slf4j.Logger 来记录输出。输出将用于控制台。如何将日志记录记录到日志文件中?

 private static final Logger LOG = LoggerFactory.getLogger(ClassName.class );
LOG.info("Logging output to console");

我没有使用 log4j.properties 文件。我假设我需要一个。

我添加了以下 log4j.properties 文件并将其放置在我的 eclipse 项目的不同部分。

 # Define the file appender
log4j.appender.FileAppender=org.apache.log4j.RollingFileAppender
log4j.appender.FileAppender.File=logger.log
log4j.appender.FileAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.FileAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# Direct all messages there
log4j.rootLogger = INFO, FileAppender

我什至用过

 PropertyConfigurator.configure("log4j.properties");

但是没有出现日志文件。 log4j.properties 似乎没有效果。

最佳答案

我认为最简单的方法是在 log4j.properties 文件中定义一个 FileAppender:

# Define the file appender
log4j.appender.FileAppender=org.apache.log4j.RollingFileAppender
log4j.appender.FileAppender.File=[log filename].log
log4j.appender.FileAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.FileAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# Direct all messages there
log4j.rootLogger = INFO, FileAppender

只需将 [log filename] 替换为一些相关文件名即可。我认为如果文件在您的项目目录中,当您从 Eclipse 运行项目时,Log4j 能够自动定位该文件,但我不是 100% 确定。您可以在应用程序开始时使用 PropertyConfigurator 来告诉 Log4j 在哪里可以找到属性文件,例如:

PropertyConfigurator.configure("log4j.properties");

关于java - org.slf4j.Logger 记录到控制台,如何记录到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20328646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com