2017-07-28 89 views
0

我有一些特定的日誌行,其中包含一些信息,需要將其登錄到不同的文件以供將來使用。我已經在我的系統中配置了log4j.properties以記錄必要的信息。將特定的INFO日誌行發送到不同的文件

如: -

[2017-07-28 20:33:07,798] INFO - '[email protected]' logged in at [2017-07-28 20:33:07,798+0530]

我要篩選出這一點,並追加到org.apache.log4j.DailyRollingFileAppender

得到任何幫助。

+0

你如何定義哪一行將被移動到其他文件?它是來自特定的記錄器還是包含特定的子字符串? –

+0

嗨Alexey,現在匹配「登錄」是一個選項。 – udarakr

回答

1

下面是xml配置的解決方案。你可以找到詳細信息here。作爲一個例子,您可以指定兩個appender:一個用於存儲所有行,另一個用於存儲特殊行。那麼,對於附加器存儲你的特殊行設立在下列方式過濾器(例如,用於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> 

還要檢查這個question在這裏你可以找到關於如何配置使用性質相同的線索。

相關問題