Журнал портлета Liferay DXP JSF в настраиваемом файле и расположении - PullRequest
0 голосов
/ 13 июля 2020

Класс портлета 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>

1 Ответ

1 голос
/ 13 июля 2020

Я пробовал это на днях и смог заставить его работать с путем src / main / webapp / META-INF / module-log4j-ext. xml вместо src / main / resources / META-INF / module-log4j-ext. xml

Вот пример:

<?xml version="1.0"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <category name="com.liferay.faces.demos.applicant.alloy.facelets.mbf">
        <priority value="DEBUG" />
    </category>
</log4j:configuration>
...