在Liferay6.2中,对于tomcat/logs文件夹中的每个portlet,我们都有一个单独的日志文件。在Liferay7.1中,我们不再有此功能,所有portlets的所有日志都写入webapps.log。
在Liferay DXP中,有没有办法让每个portlet也有一个日志文件?我们使用的是Spring MVC Portlet,而不是OSGI模块。
发布于 2020-07-09 17:07:29
您可以尝试以下方法,至少适用于OSGI MVC Portlet:
创建文件[Your Server]/ROOT/WEB-INF/classes/META-INF/portal-log4j-ext.xml
并添加
<appender name="MY-PORTLET_FILE" class="org.apache.log4j.rolling.RollingFileAppender">
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="@liferay.home@/logs/[Your Filename].%d{yyyy-MM-dd}.log" />
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}:%L] %m%n" />
</layout>
</appender>
<category name="[Your Portlet Classname]" >
<priority value="DEBUG" />
<appender-ref ref="MY-PORTLET_FILE" />
</category>然后在portlet类中创建日志记录器,如下所示:
Log logger = LogFactoryUtil.getLog(this.getClass().getName());这也在这里描述https://liferay.dev/blogs/-/blogs/how-to-disable-xml-log-files-in-7-x,并与Liferay 7.3.2 GA一起使用
https://stackoverflow.com/questions/58112717
复制相似问题