2017-05-04 2 views
1

Ich arbeite mit Liveray 7 auf Tomcat 8. Ich erstellte mein eigenes Portlet als OSGi-Modul und fügte Protokollierung hinzu.Liferay 7 OSGi-Modul Protokolle zu Konsole und Datei

in Java-Klasse

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"); 

in \ Main \ resources \ META-INF \ Modul-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> 

Dies funktioniert und Protokolle geschrieben/liferay/tomcat/logs/portlet-name.log-Datei! Aber zur gleichen Zeit werden Protokolle in die Konsole und in die Datei catalina.out geschrieben.

Wie Portlet-Protokollierung in der Konsole deaktivieren und in einer Portlet-Name.log-Datei belassen?

Antwort

1

Überprüfen Sie die Datei conf/logging.properties von Tomcat, dort ist ein ConsoleHandler und verschiedene andere deklariert. Wahrscheinlich sind das die Schuldigen