Класс портлета JSF - GenericFacesPortlet (что означает не MVCPortlet), и используется slf4j. Я пробовал ресурсы / META-INF / portlet-log4j. xml (с dtd), но я не могу добиться регистрации в пользовательском файле и местоположении.
Любые подсказки будут оценены, например, работающий пример с использованием GenericFacesPortlet тоже. Уровень исправления Liferay - 7.1.10.fp14
Я хотел бы войти в одну категорию (настраиваемый класс AuditLog в компоненте, использующий slf4j и используемый несколькими портлетами), например, в liferay / logs / auditlog oder liferay / tomcat / logs / auditlog
Портлеты зарегистрированы и известны в osgi (компонент является просто зависимостью от jar atm)
Код:
org.slf4j.Logger _logger = org.slf4j.LoggerFacytory.getLogger(Classname)
_logger.info("hello world");
Обновление
Я не публикую это как ответ, потому что для меня добавление файлов в ROOT - это всего лишь обходной путь.
Использование tomcat/webapps/ROOT/WEB-INF/classes/META-INF/portal-log4j-ext.xml
работает.
Пользовательский файл-аппендер в пользовательском каталоге в папке tomcat / logs.
<?xml version="1.0"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="myAppender" class="org.apache.log4j.rolling.RollingFileAppender">
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="${catalina.base}/logs/my-custom-location/my-custom-logfile.%d{yyyy-MM-dd}.log.zip" />
<param name="ActiveFileName" value="${catalina.base}/logs/my-custom-location/my-custom-logfile.log" />
</rollingPolicy>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH\:mm\:ss} %-5p [%t][%c{1}:%L] %m%n" />
</layout>
</appender>
<logger name="my.custom.package">
<level value="INFO" />
<appender-ref ref="myAppender" />
</logger>
</log4j:configuration>