将特定的 INFO 日志行发送到不同的文件
Sending particular INFO log line to a different file
我有一个包含一些信息的特定日志行,需要将其登录到不同的文件以备将来使用。我已经在我的系统中配置 log4j.properties 来记录必要的信息。
例如:-
[2017-07-28 20:33:07,798] INFO - 'john@doe.com' logged in at [2017-07-28 20:33:07,798+0530]
我必须过滤掉它并附加到 org.apache.log4j.DailyRollingFileAppender
感谢任何帮助。
下面是 xml 配置的解决方案。您可以找到详细信息 here。例如,您可以指定两个附加程序:一个用于存储所有行,一个用于存储您的特殊行。然后,对于存储特殊行的附加程序,按以下方式设置过滤器(例如 RollingFileAppender):
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<RegexFilter regex=".*logged in at.*" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
另请查看此 ,您可以在其中找到有关如何使用属性进行配置的线索。
我有一个包含一些信息的特定日志行,需要将其登录到不同的文件以备将来使用。我已经在我的系统中配置 log4j.properties 来记录必要的信息。
例如:-
[2017-07-28 20:33:07,798] INFO - 'john@doe.com' logged in at [2017-07-28 20:33:07,798+0530]
我必须过滤掉它并附加到 org.apache.log4j.DailyRollingFileAppender
感谢任何帮助。
下面是 xml 配置的解决方案。您可以找到详细信息 here。例如,您可以指定两个附加程序:一个用于存储所有行,一个用于存储您的特殊行。然后,对于存储特殊行的附加程序,按以下方式设置过滤器(例如 RollingFileAppender):
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<RegexFilter regex=".*logged in at.*" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
另请查看此