2013-12-14 2 views
0

Это мой файл log4j2.xml.Код для получения свойства log4j2

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> 
    <Properties> 
    <Property name="runid">$${date:YYYYMMddHHmmssSSS}</Property> 
    </Properties> 
    <Appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{YYYY/MM/dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
    <File name="File" fileName="D:\Users\Rich\Documents\TestData\PagemonTest12\LogRun\Log-${runid}.log"> 
     <PatternLayout pattern="%d{YYYY/MM/dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </File> 
    </Appenders> 
    <Loggers> 
    <Root level="trace"> 
     <AppenderRef ref="Console"/> 
     <AppenderRef ref="File"/> 
    </Root> 
    </Loggers> 
</Configuration> 

Он создает свойство под названием runid, основанное на текущей дате и времени. Как я могу получить доступ к runid (созданный runid, а не текст в xml-файле) как String в моем приложении Java 7?

+0

В заголовке нет необходимости добавлять основной тег. –

ответ

0

Это код, чтобы получить собственность от log4j2.xml:

if (ctx == null) { 
    ctx = (LoggerContext) LogManager.getContext(); 
    config = (XMLConfiguration) ctx.getConfiguration(); 
} 
app = config.getStrSubstitutor().getVariableResolver() 
    .lookup(Constants.CONF_APP_PROPERTIE); 
-1

$ {расслоением: br.com.domain.sadt.server.config: config.log.folder}

где: - br.com.domain.sadt.server.config = ваш config.properties - config.log.folder = ключ

использовать в XML $ {папка}

Смежные вопросы