2017-05-04 6 views
1

tomcat 8에서 liferay 7로 작업합니다. OSGi 모듈로 자체 포틀릿을 작성하고 로깅을 추가했습니다. 자바 클래스 \ 주 \ 자원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/바람둥이/로그/portlet-name.log 파일! 그러나 동시에 로그는 콘솔과 catalina.out 파일에 기록됩니다.

콘솔에서 포틀릿 로깅을 비활성화하고 portlet-name.log 파일에 남겨 두는 방법은 무엇입니까?

답변

1

tomcat의 conf/logging.properties를 확인하십시오. 거기에 ConsoleHandler가 선언되어 있습니다. 대부분이 범인이다.