logging - Liferay DXP JSF portlet 登录自定义文件和位置
问题描述
JSF portlet 的类是 GenericFacesPortlet(这意味着不是 MVCPortlet)并且使用了 slf4j。我尝试了资源/META-INF/portlet-log4j.xml(使用 dtd),但我无法实现登录自定义文件和位置。
任何提示都将不胜感激,例如使用 GenericFacesPortlet 的运行示例。Liferay 补丁级别为 7.1.10.fp14
我想记录一个类别(组件中的自定义 AuditLog 类,使用 slf4j 并由多个 portlet 使用),例如 liferay/logs/auditlog 或 liferay/tomcat/logs/auditlog
portlet 在 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>
解决方案
前几天我尝试了这个并且能够使其与路径 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>
推荐阅读
- excel - Excel PowerQuery - 从单元格值动态更改源
- vbscript - 经典 ASP:由于会话变量显示/隐藏导航链接问题
- python - 如何将 yolov4 weights.wt 转换为 pytorch weights.pt?
- html - 在轮播项目顶部水平对齐文本和图像
- java - Java中通过引用获取对象
- sql-server - 触发器中的变量什么都不抛出
- node.js - Node.js 中的 ERR_SSL_UNEXPECTED_MESSAGE 错误
- python - 每组特定值的熊猫频率
- git - Git流程问题,一个功能分支依赖于另一个
- javascript - 单元格通过单击更改背景颜色