gpt4 book ai didi

java - 使用log4j如何在日志文件中打印System.out.println语句

转载 作者:太空宇宙 更新时间:2023-11-04 11:27:35 25 4
gpt4 key购买 nike

我还在学习log4j,我面临这个问题。

在我当前的示例中,我无法在日志文件中打印 System.out.println 语句。

我已经浏览了 Stack Overflow 中的其他问题和答案,这是一个重复的问题,但我仍然不明白。

下面是Java类

public class Testing
{
private final static Logger logger = Logger.getLogger(Testing.class);
static
{
PropertyConfigurator.configure("log4j.properties");
}
public static void main(String args[])
{
System.out.println("Entered main method...............");
logger.error("An error has occurred might");
}
}

log4j.properties 文件:

log4j.rootLogger=DEBUG, file, console

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/justfortesting.log
log4j.appender.file.Append=true
log4j.appender.file.ImmediateFlush=true
log4j.appender.FILE.filter.b=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.FILE.filter.b.LevelToMatch=ERROR
log4j.appender.FILE.filter.b.AcceptOnMatch=false
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %d{Z} [%t] %-5p (%F:%L) - %m%n

log4j.logger.com.log4j=DEBUG, file, console

log4j.additivity.com.log4j=false

所以有人建议,我需要对此进行哪些更改/添加新内容?

最佳答案

通过修改我的 Testing 类并使用现有代码添加一个新类,我得到了上述问题的解决方案。

public class Testing
{
private final static Logger logger = Logger.getLogger(Testing.class);
static
{
PropertyConfigurator.configure("log4j.properties");
}
public static void main(String args[])
{
Logger out = Logger.getLogger("SystemOut");
Level info = Level.INFO;
System.setOut(new PrintStream(new LoggingOutputStream(out, info),true));
System.out.println("Entered main method...............");
System.out.println("Printing 2nd...............");
}
}

已添加LoggingOutputStream用于在日志文件中打印 System.out.println 语句的类。

关于java - 使用log4j如何在日志文件中打印System.out.println语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44178441/

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