我正在编写一个自定义评估器,我想在其中自动装配另一个 bean。我无法这样做,因为评估器由记录器初始化,而 bean 由弹簧上下文初始化。以下是我的代码示例:
在 logback-spring.xml 中:
<appender name="myAppender" class="ch.qos.logback.classic.net.SMTPAppender">
<evaluator class="com.package.CustomEvaluator">
<marker>FATAL</marker>
<interval>1000000</interval>
</evaluator>
</appender>
我的自定义评估器:
@Slf4j
@Component
public class CustomEvaluator extends OnMarkerEvaluator {
@Autowired
private MyService myService;
@Override
public boolean evaluate(ILoggingEvent event) throws EvaluationException {
\\logic goes here
}
}
我将 MyService 的对象始终设为 null(这是预期的)。有什么解决方法吗?