ログメッセージのコードを同じログレベルで2つの異なるフォルダに作成しています。私が直面している問題はログメッセージを印刷できません条件付きで(elseになったとき)。主にelse部分が動作しません。logbackの条件 - 2つの異なるフォルダにログメッセージを出力する
2つの異なるアペンダーを使用してIf else条件に基づいて2つの異なるフォルダにログを書き込む方法を簡単に説明します。
コードは次のとおりです。
<if condition='property("type").contains("DEV")'>
<then>
<appender-ref ref="FILE-ENGINE" />
</then>
<else>
<appnder-ref ref = "FILE-UI" />
</else>
</if>
全体の設定ファイルである:
<property name="USER_HOME" value="D:/Log1/" />
<property name="USER_HOME2" value="D:/log2/" />
<if condition='property("type").contains("DEV")'>
<then>
<appender-ref ref="FILE-ENGINE" />
</then>
<else>
<appnder-ref ref = "FILE-UI" />
</else>
</if>
<appender name="FILE-ENGINE" class="ch.qos.logback.core.FileAppender">
<file>${USER_HOME}/${log.name}.log</file>
<append>true</append>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} -
%msg%n</pattern>
</encoder>
</appender>
<appender name="FILE-UI" class="ch.qos.logback.core.FileAppender">
<file>${USER_HOME2}/DEBUG.log</file>
<append>true</append>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} -
%msg%n</pattern>
</encoder>
</appender>
<appender name="FILE-ENGINE-ERROR" class="ch.qos.logback.core.FileAppender">
<file>${USER_HOME}/${log.name}.error</file>
<append>true</append>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} -
%msg%n</pattern>
</encoder>
</appender>
<logger name="com.code" level="debug" additivity="false">
<appender-ref ref="FILE-ENGINE" />
<appender-ref ref="FILE-UI" />
</logger>
<root level="Error">
<appender-ref ref="FILE-ENGINE-ERROR" />
</root>
PLSは、他の条件でログを書く方法私を助けます。前もって感謝します。
こんにちはKarthikさんに感謝します。他のappenderクラスを使用している場合、ch.qos.logback.core.rolling.RollingFileAppenderは動作していない、つまりログを書き込んでいません。あなたは私にこのことを教えてくれますか? –
こんにちはKarthik、ありがとうございます。私は別のアペンダーを追加することもできます。もう一度ありがとう。 –