首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Log4j 完整配置指南:Servlet 初始化與屬性檔設定

     編輯:Java 相關知識

前言

Apache Log4j 是 Java 專案最廣泛使用的日誌框架。本文詳細說明在 Web 應用中透過 Servlet 初始化 Log4j,並配置 log4j.properties 實現控制台與滾動檔案雙重輸出。

步驟一:建立初始化 Servlet

實作 HttpServlet,在 init() 方法中讀取 web.xml 設定的初始化參數,載入屬性檔:

package net.welovetennis.util.log;

import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.log4j.*;

public class Log4jInit extends HttpServlet {
    public void init() throws ServletException {
        String prefix = getServletContext().getRealPath("/");
        String file = getInitParameter("log4j");
        System.out.println("................log4j start");
        if (file != null) {
            PropertyConfigurator.configure(prefix + file);
        }
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) {}
    public void destroy() {}
}

步驟二:在 web.xml 註冊 Servlet

設定 load-on-startup 為 1,確保應用啟動時優先初始化:

<servlet>
    <servlet-name>log4jinit</servlet-name>
    <servlet-class>net.welovetennis.util.log.Log4jInit</servlet-class>
    <init-param>
        <param-name>log4j</param-name>
        <param-value>WEB-INF/log4j.properties</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

步驟三:編寫 log4j.properties 配置檔

放置於 WEB-INF/ 目錄下,配置兩個 Appender:

  • ConsoleAppender:輸出至控制台,格式含日期、類別、等級、訊息
  • RollingFileAppender:滾動檔案輸出,單檔 100KB,保留 1 個備份
log4j.rootLogger=INFO, A1, R
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=c:/project/david/racquet/logs/log4j.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

關鍵配置解析

屬性說明
ConversionPattern日誌輸出格式,%d日期、%c類別、%p等級、%m訊息、%n換行
MaxFileSize單一檔案最大尺寸,超過則滾動
MaxBackupIndex保留備份檔數量

驗證方式

啟動應用伺服器,觀察控制台輸出 ................log4j start 及指定目錄下生成 log4j.log,即代表配置成功。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved