Logging 从log4net过渡到log4j 2

Logging 从log4net过渡到log4j 2,logging,log4j,log4net,log4j2,Logging,Log4j,Log4net,Log4j2,我正在用java开发一个使用log4j2的项目,并希望使用log4net在.NET中的旧项目中设置与以前相同的日志记录 在log4j2中,有一些事情我不知道该怎么做 如何强制log4j2 appender将当前日期放入日志文件并每天创建新的日志文件?我尝试使用TimeBasedTriggeringPolicy,它允许我将日期放在较旧日志的名称中,但当前日志从来没有日期。我尝试在文件名中使用%d{yyyyMMdd},但无效。log4j2中的datePattern是否有一些等价物 这是.NET项目中

我正在用java开发一个使用log4j2的项目,并希望使用log4net在.NET中的旧项目中设置与以前相同的日志记录

在log4j2中,有一些事情我不知道该怎么做

如何强制log4j2 appender将当前日期放入日志文件并每天创建新的日志文件?我尝试使用TimeBasedTriggeringPolicy,它允许我将日期放在较旧日志的名称中,但当前日志从来没有日期。我尝试在文件名中使用%d{yyyyMMdd},但无效。log4j2中的datePattern是否有一些等价物

这是.NET项目中的原始appender

<appender name="DebugRollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <file value="c:\ConcertCTS\Logs\" />
    <appendToFile value="true" />
    <datePattern value="yyyyMMdd'_debug.log'" />
    <staticLogFileName value="false" />
    <encoding value="utf-8" />
    <maximumFileSize value="50MB" />
    <rollingStyle value="Composite" />
    <maxSizeRollBackups value="-1" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{hh:mm:ss.fffzzz} [Thread: %-2thread] %-5level - %message%newline%exception" />
    </layout>
</appender>

这是我为log4j2设计的

    <RollingFile name="DebugRollingAppender" fileName="/EnvoyLogs/debug.log"
        filePattern="/EnvoyLogs/%d{yyyyMMdd}_debug.%i.log">
        <PatternLayout>
            <Pattern>%d [%t] %p %c{8.} %m%n</Pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy />
            <SizeBasedTriggeringPolicy size="50 MB" />
        </Policies>
        <DefaultRolloverStrategy max="100"
            compressionLevel="0" />
    </RollingFile>

%d[%t]%p%c{8.}%m%n
我也不喜欢它把我的旧日志放在第一位。我知道这是文件模式中的%I,但我不想把它放在一边,因为当日志超过一定大小时,我需要对其进行拆分和编号。我能用它做点什么吗

提前谢谢

Log4j2当前(v2.1)无法执行您描述的操作。我建议在log4j2 Jira问题跟踪器上提出特性请求。我喜欢从一开始就在文件名中包含日期的想法,这非常有意义