Logging LIFERAY DXP中的滚动日志
我在尝试在Liferay DXP中定制日志滚动策略时遇到了一个问题。 在Logging LIFERAY DXP中的滚动日志,logging,log4j,liferay,liferay-dxp,Logging,Log4j,Liferay,Liferay Dxp,我在尝试在Liferay DXP中定制日志滚动策略时遇到了一个问题。 在portal-log4j-ext.xml文件中,我想: 根据最大文件大小创建滚动日志策略,并在文件名末尾附加日期 创建每日滚动日志策略,以创建每日日志文件 压缩 在portal-log4j-ext.xml上方: 问题是日期没有附加到生成的文件中,并且TimeBasedRollingPolicy不起作用 我正在使用log4j1.2 你有什么建议吗 提前感谢。重新考虑你的策略 在我写下答案之前:你应该重新考虑你的日志
portal-log4j-ext.xml文件中,我想:
- 根据最大文件大小创建滚动日志策略,并在文件名末尾附加日期李>
- 创建每日滚动日志策略,以创建每日日志文件
压缩
在portal-log4j-ext.xml上方:
问题是日期没有附加到生成的文件中,并且TimeBasedRollingPolicy不起作用
我正在使用log4j1.2
你有什么建议吗
提前感谢。重新考虑你的策略
在我写下答案之前:你应该重新考虑你的日志策略。
基于当前配置,您将没有“每日日志文件”,因为可能有多达100个每日日志文件,每个文件的大小为5KB
因此,在最坏的情况下,您可能会有100个文件包含同一天的日志,而另一个n
文件丢失,因为它们会超过您的MaxBackupIndex
文件追加器
如果您的存储空间非常有限,则应将org.apache.log4j.RollingFileAppender
与MaxFileSize
和MaxBackupIndex
一起使用。但是,您不能在此处定义日期模式
如果要将日期添加到日志文件的名称中,则应使用。但是,您既不能使用此FileAppender定义MaxFileSize
也不能定义MaxBackupIndex
,因此您必须创建自己的
滚动策略
您的RollingPolicy配置似乎很好。我猜您必须将添加到项目中,该项目包含RollingPolicy
接口及其实现(例如TimeBasedRollingPolicy
)。您的portal-log4j-ext.xml在层次结构中缺少组件:
log4j:configuration
第二个细节是,您似乎正在创建一个新的appender,您无法从-ext.xml执行此操作,至少必须从.xml重新配置记录器以使用它。实际上,这是原始文件的工作,而不是外部文件。Hi quatax,谢谢您的帮助!对于MaxFileSize和MaxBackupIndex,它只是一个演示值。我将下载apache.log4j-extrasdependendy并检查它是否工作。谢谢
<appender name="PROJECT" class="org.apache.log4j.RollingFileAppender">
<!-- The active file to log to -->
<param name="file" value="@liferay.home@/logs/logging/liferay@spi.id@.%d.log" />
<param name="MaxFileSize" value="5KB"/>
<param name="MaxBackupIndex" value="100"/>
<param name="append" value="true" />
<param name="encoding" value="UTF-8" />
<!-- Keep one backup file -->
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="@liferay.home@/logs/logging/archive/liferay@spi.id@.%d.log.gz" />
</rollingPolicy>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="[%d{dd.MM.yyyy HH:mm:ss}{Europe/Paris}] %-5p [%t][%c{1}:%L] %m%n" />
</layout>
</appender>
<root>
<priority value="INFO" />
<appender-ref ref="PROJECT" />
<!--appender-ref ref="CONSOLE" /-->
<!--appender-ref ref="XML_FILE" /-->
<!--<appender-ref ref="TEXT_FILE" />-->
</root>
<appender class="org.apache.log4j.rolling.RollingFileAppender" name="TEXT_FILE">
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
</rollingPolicy>
<layout class="org.apache.log4j.EnhancedPatternLayout">
</layout>
</appender>