我有一个dropwizard项目,我有一个类,我从Logback提供的JsonLayout类扩展,以便为日志消息定义我自己的自定义JSON布局。我重写了Logback的toJsonMap方法。
public class LogEventJsonLayout extends JsonLayout {
@Setter(onMethod = @__({@Inject}))
private ServiceConfiguration serviceConfiguration = null;
@Override
protected Map toJsonMap(final ILoggingEvent event) {
.....
}
}
在上面的类中,我想通过在这里注入ServiceConfiguration来使用我通过application.yml文件指定的一些参数,如上所示。但是我面临的问题是在调用bootstrap的run方法之前初始化了上面的类,并且由于runConfiguration由run方法提供,因此我在上面的类中得到的ServiceConfiguration的值为null。 请帮助我解决这个问题。
答案 0 :(得分:0)
我找到了解决方案。在application.yml文件中,我在logging - >下传递了一些参数。 appenders,然后我可以在扩展日志工厂的自定义类中访问这些参数。从那里我可以使用我的自定义JSON布局类中的参数。