2016-09-20 86 views
0
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender"> 
     <param name="File" value="${catalina.base}/logs/server.log" /> 
     <param name="Append" value="true" /> 
     <param name="DatePattern" value="'.'yyyy-MM-dd" /> 
     <layout class="com.mayank.base.logging.CustomPatternLayout"> 
      <param name="ConversionPattern" value="%d{ABSOLUTE}#%X{requestId} %R %-5p [%c{1}] - %m%n" /> 
     </layout> 
    </appender> 

我面臨麻煩將其轉換爲log4j 2.如何我可以添加自定義模式佈局。轉換log4j 1.x到log4j 2.x自定義佈局appender

+0

更多細節你已經嘗試什麼,以及爲什麼它不工作就會使這個問題更容易理解 –

回答

0

<RollingFile>標籤應該存在。

這裏有幾個樣本 -

<RollingFile name="ROLLING" 
      fileName="f:/my_dir/logsroll.log" 
      filePattern="f:/my_dir/logsroll-%i.log"> 

OR

<RollingFile name="MyFile" fileName="d:/log/bsi/admin/total/totalLog.log" 
      filePattern="d:/log/totalLog-%d{MM-dd-yyyy}-%i.log"> 
      <PatternLayout> 
       <Pattern>%d %p %c [%t] %m%n</Pattern> 
      </PatternLayout> 
      <Policies> 
       <TimeBasedTriggeringPolicy /> 
       <SizeBasedTriggeringPolicy size="1 MB"/> 
      </Policies> 
      <DefaultRolloverStrategy max="2000"/> 
     </RollingFile> 

參考this更多。

+0

我在加入我customPatternLayout – Innovation

+0

面臨的問題,您可以檢查此http://andrew-flower.com/blog/Create_Custom_Log4j_Plugins – Techidiot

+0

和這個http://stackoverflow.com/questions/24205093/how-to-create-a-custom-appender-in-log4j2 – Techidiot

0

您應該將您的CustomPatternLayout實現爲Layout插件。你有一個代碼示例(layout plugins manual)。

在很一般的,你應該:

  • 實施適當的註解插件類的構造函數
  • 實現插件工廠方法
  • 實現log4j配置所需的格式
  • 何況你插件包:

    <Configuration packages="com.mayank.base.logging"> 
    
  • 在配置上使用您的插件類

的名字你可以看到在這個博客上post1post2post3的解釋和執行的插件例子。沒有佈局插件的例子,但技術非常相似。