File Log4j生成具有相同内容的不同文件

File Log4j生成具有相同内容的不同文件,file,logging,configuration,log4j,appender,File,Logging,Configuration,Log4j,Appender,我正在使用一个集成了log4j的Java应用程序。对于一个新的开发,我需要的不是生成一个文件,而是生成两个文件,每个国家一个,从应用程序web访问。两者都有在整个应用程序中找到的相同日志记录 我使用.xml文件配置了配置: 如果你想要2个以上的日志文件来打印相同的内容,那么你可以在你的标签中定义2个不同的文件,如下所示: <configuration status="OFF"> <Properties> <Property name="log-path"&

我正在使用一个集成了log4j的Java应用程序。对于一个新的开发,我需要的不是生成一个文件,而是生成两个文件,每个国家一个,从应用程序web访问。两者都有在整个应用程序中找到的相同日志记录

我使用.xml文件配置了配置:


如果你想要2个以上的日志文件来打印相同的内容,那么你可以在你的标签中定义2个不同的文件,如下所示:

<configuration status="OFF">
<Properties>
    <Property name="log-path">/your/file/path/</Property>
    <Property name="log-country-name1">Country1</Property>
    <Property name="log-country-name2">Country2</Property>
    <!-- more if necessary -->
    <Property name="log-pattern">%d{ISO8601} %-5p [%t|%c{1}] %m\n</Property>
    <Property name="rollover-strategy-max">5</Property>
    <Property name="rolling-size-based">10 MB</Property>
</Properties>
<appenders>

    <!--uncomment following if want to print to console as well -->
    <!-- <Console name="Console" target="SYSTEM_OUT">
        <PatternLayout>
            <pattern>${log-pattern}</pattern>
        </PatternLayout>
    </Console> -->

 <RollingFile name="INFO" fileName="${log-path}/${log-country-name1}-logger.log" filePattern="${log-path}/${log-project-name}-debug-%d-%i.log.zip">
    <PatternLayout>
        <pattern>${log-pattern}</pattern>
    </PatternLayout>
    <Policies>
        <SizeBasedTriggeringPolicy size="${rolling-size-based}" />
    </Policies>
    <DefaultRolloverStrategy max="${rollover-strategy-max}" />
</RollingFile>

 <RollingFile name="INFO" fileName="${log-path}/UpdaterLocal-logger.log" filePattern="${log-path}/${log-country-name2}-debug-%d-%i.log.zip">
    <PatternLayout>
        <pattern>${log-pattern}</pattern>
    </PatternLayout>
    <Policies>
        <SizeBasedTriggeringPolicy size="${rolling-size-based}" />
    </Policies>
    <DefaultRolloverStrategy max="${rollover-strategy-max}" />
</RollingFile>

</appenders>
<Loggers>
    <logger name="io.switchfour" level="trace" additivity="false">
        <AppenderRef ref="INFO" level="info" />
    </logger>
</Loggers>

/您的/file/path/
国家1
国家2
%d{ISO8601}%-5p[%t|%c{1}]%m\n
5.
10 MB
${log pattern}
${log pattern}


上述操作将创建/your/file/path/Country1-logger.log和/your/file/path/Country2-logger.log,并将信息或更高的所有条目写入这两个文件。您的日志文件应该相同。

首先感谢您的回复。我想你解释错了。我想说的是,我需要你写一个或另一个文件给我,这取决于国家,即使消息和包是相同的。也就是说,如果用户选择西班牙,我们设想一条日志消息“启动应用程序”,它将被写入文件country1.log如果用户选择英格兰,它将写入country2.log。您想这样做吗(参见属性替换部分)?是的,非常感谢你提供的信息。这就是我需要的