java - 如何将信息日志记录到一个文件并将错误日志记录到另一个文件

标签 java spring-boot log4j microservices

我想通过 Java 编程级别(在配置类中)将信息和调试日志打印到 success.log 文件,并将错误日志打印到 log4j 中的 error.log 文件。我尝试了很多但无法得到。任何人都可以帮忙吗?

最佳答案

在不同的文件中打印错误日志和信息/调试日志。您必须在 log4j/log4j2/logback 文件中添加两个不同的配置。创建不同的appender/logger来记录不同级别的日志。

例如对于 Log4j :

##############For errors######################
# Define the root logger with appender file
log4j.rootLogger = ERROR, FILE, ALERT
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.FILE.File=D:\\application.log
# 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=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

##############For Alerts######################
log4j.appender.ALERT=org.apache.log4j.FileAppender
log4j.appender.ALERT.File=D:\\alert.log
log4j.appender.ALERT.Threshold=fatal
log4j.appender.ALERT.layout=org.apache.log4j.PatternLayout
log4j.appender.ALERT.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

以上配置来 self 的实践项目。根据您的需要更新上述配置。您也可以引用此链接:Spring boot multiple log files

关于java - 如何将信息日志记录到一个文件并将错误日志记录到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50673143/

相关文章:

java - Android(Java),变量默认引用类型?

java - Jersey能否根据请求的URI通过特定的构造函数构建资源类?

java - 有没有一种简单的方法可以在 Spring Boot 中使用 Java 注解从测试覆盖率中排除类?

java - 扩展 Log4JLogger 并在运行时调用子类

Java 线程在记录器上被阻止

java - 如何使用 Guice 注入(inject) RequestParameters

java - gradle appengineRun 失败并出现 java.lang.IllegalArgumentException

java - 多个环境的单独属性文件

java - 仅排除一级 Log4j Logger

java.lang.NullPointerException : Attempt to invoke interface method 'int java.lang.Comparable.compareTo(java.lang.Object)' on JSoup Library