在Liferay 6.2中,tomcat / logs文件夹中的每个portlet都有单独的日志文件。 在Liferay 7.1中,我们不再需要此功能,所有portlet的所有日志均写入webapps.log。
在Liferay DXP中,是否有任何方法在每个portlet中也有一个日志文件? 我们使用的是Spring MVC Portlet,而不是OSGI模块。
答案 0 :(得分:0)
您可以尝试以下至少对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一起使用