问题描述
在我的logback-spring.xml
文件中,我定义了一个时间戳,如下所示:
<timestamp key="date" datePattern="yyyyMMdd"/>
我想知道是否可以从我的application-properties
文件中加载此datePattern值。我已经定义了一个属性logging.date.format=yyyyMMdd
,该属性将在代码的其他部分中使用,并且如果我也可以在登录文件中使用该属性,那将非常有帮助,这样我只需在单个位置进行更改即可。
解决方法
我将属性传递给应用程序中的Logback。在我的webapp初始化程序中,获取LoggerContext并输入属性。我重置了上下文,因为我更改了一些其他设置,不知道是否需要。
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator jc = new JoranConfigurator();
jc.setContext(context);
context.reset();
context.putProperty("prop-name","prop-value");
jc.doConfigure(config)
然后在logback文件中,可以在任何其他属性行中使用
${prop-name}