динамическое имя файла журнала log4j XML-файл config с отметкой времени - PullRequest
0 голосов
/ 11 мая 2018

У меня есть ниже XML-файл конфигурации со статическим именем файла журнала "CRM_Update_dubg_Logs.log", я хочу сделать это имя с отметкой времени, java log4j 2.9.1

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
    <Console name="Console" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{HH:mm:ss.SSS}{GMT+3} [%t] %-5level 
%logger{36} - %msg%n" />
    </Console>
    <File name="MyFile" fileName="CRM_Update_Logs.log" immediateFlush="true" append="true">
        <PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS}{GMT+3} %c{2} [%t] %-5level %logger{36} - %msg%n"/>
    </File>
    <File name="dubg_Logs" fileName="CRM_Update_dubg_Logs.log" immediateFlush="true" append="true">
        <PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS}{GMT+3} %c{2} [%t] %-5level %logger{36} - %msg%n"/>
    </File>
</Appenders>
<Loggers>
    <Root level="debug">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="MyFile"/>
        <AppenderRef ref="dubg_Logs"/>
    </Root>
    <Logger level="ALL" additivity="false" name="dubg">
        <AppenderRef ref="dubg_Logs"/>
    </Logger>
</Loggers>

1 Ответ

0 голосов
/ 27 мая 2018

Изменить имя файла в xml

fileName="CRM_Update_Logs.log"    

будет

fileName="${sys:logFilename}_CRM_Update_Logs.log"

и добавьте это к своему Java-коду

    Date date = new Date();      
    String LogDate= new SimpleDateFormat("yyyyMMdd").format(date);
    System.setProperty("logFilename", LogDate);
...