1
私はtomcat 8でliferay 7を使用しています。自分自身のポートレットをOSGiモジュールとして作成し、ロギングを追加しました。 Javaクラス\メイン\リソースでLiferay 7 OSGiモジュールがコンソールとファイルにログする
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
...
private static Log log = LogFactoryUtil.getLog(ClassName.class);
...
log.info("Message");
\ META-INF \モジュール-のlog4j.xmlで
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender class="org.apache.log4j.rolling.RollingFileAppender" name="file">
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="${catalina.home}/logs/portlet-name.log" />
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}:%L] %m%n" />
</layout>
</appender>
<logger name="packagename.classname">
<level value="debug"/>
<appender-ref ref="file" />
</logger>
</log4j:configuration>
これが機能するとログが書き込まれ/ Liferayの/ tomcatに/ログ/ポートレット名.logファイル!しかし同時に、ログはコンソールとcatalina.outファイルに書き込まれます。
コンソールでポートレットのロギングを無効にして、ポートレット名.logファイルに残す方法はありますか。