log4j2를 사용하는 java 프로젝트에서 log4net을 사용하여 이전 프로젝트에서 사용한 것과 동일한 로깅을 설정하려고합니다.log4net에서 log4j로 전환 2
log4j2에서 수행하는 방법을 알아낼 수없는 몇 가지 사항이 있습니다.
어떻게하면 log4j2 appender가 현재 날짜를 로그 파일에 저장하고 매일 새로운 로그 파일을 만들 수 있습니까? TimeBasedTriggeringPolicy를 사용하려고 시도했는데 이전 로그의 이름에 날짜를 넣을 수 있었지만 현재 날짜에는 날짜가 표시되지 않았습니다. 나는 fileName에서 % 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>
나는 또한 그것이 무엇 filePattern의 % 내가 알고 내 나이가 로그에 숫자 하나를두고 있음을 싫어하지만 난 splited 때 번호가 될 로그를 필요로 멀리 넣어 싶지 않아 그들은 특정 크기를 초과합니다. 그걸로 뭔가 할 수 있을까요? 사전에
감사합니다!
감사합니다. 동의합니다. –