Java Lombok log4j 使用不同的appender

标签 java log4j lombok

如何在 lombok 的一个类中使用不同的附加程序。

我试过了

@Log4j(topic = "myAppender")
@Service("myService")
public class DemoServiceImpl implements DemoService {
  ...
}

和log4j配置

log4j.rootLogger=INFO, myConsoleAppender

# settings for the console appender
log4j.appender.myConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.myConsoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.myConsoleAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# settings for file appender
log4j.appender.myAppender=org.apache.log4j.FileAppender
log4j.appender.myAppender.File=mylog.log
log4j.appender.myAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.myAppender.layout.ConversionPattern=[%p] %d{DATE} %m%n

所以我想记录 myConsoleAppender 中的所有内容,但 DemoServiceImpl 类中的所有日志都想保存到文件 - 使用 log4j 属性文件中的 myApppender。

最佳答案

我自己解决了

将其添加到 log4j 属性

log4j.category.myAppenderLogger=INFO, myAppender
log4j.additivity.myAppenderLogger=false

和log4j注释校正

@Log4j(topic = "myAppenderLogger")
@Service("myService")
public class DemoServiceImpl implements DemoService {
  ...
}

关于Java Lombok log4j 使用不同的appender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30639807/

相关文章:

log4j - 在 log4j 中使用 RollingFileAppender、DailyRollingFileAppender、ConsoleAppender。不工作

java - 如何使用 log4j 在 Java 中获取当前类名

java - 如何在 log4j.xml 文件中指定自定义/扩展记录器?

java - 如何在 Project Lombok setter 中进行自定义验证

java - 使用 Spring JPA 时在@AllArgsConstructor 中使用 id 字段是否正确?

java - 无法将 Hibernate 查询结果列表转换为对象类

java - 长mac地址返回字节数组

java - slf4j没用吗?

java批量插入方法

java - 如何将 YAML 配置映射到具有类对象的 POJO