2016年7月2日 星期六

Java Apache Log4j 基本 下載 設定 使用

一、本篇實作
Log4j 是 Apapche 的開放源碼套件,也是業界常用的log記錄。
Log4j 能夠將訊息資料寫到 console, 檔案,TCP 協定的伺服器...等。
本篇實作說明 Log4j下載、基本設定、將訊息資料寫到 console及檔案。
Log4j版本說明: Log4j 1.x
使用測試程式版本:
Eclipse Kepler
JDK.1.7
Tomcat 7
maven 4


二、官方網站
如需詳細Log4j資訊可參考官方網站
https://logging.apache.org/
圖1
Java Apache Log4j 基本 下載 設定 使用
Log4j
三、下載 Apache Log4j

3.1 下載頁 https://logging.apache.org/log4j/1.2/download.html
圖2 進入 下載 說明頁
Java Apache Log4j 基本 下載 設定 使用
 下載 說明頁


3.2 本文選擇1.2.17
http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip
圖2-1 下載

Java Apache Log4j 基本 下載 設定 使用
下載


        3.3 取得 log4j-1.2.17.jar
圖2-2
Java Apache Log4j 基本 下載 設定 使用
 log4j-1.2.17.jar



四、使用 Maven 設定 dependency 加入 log4j
圖3 進入Apache Log4j 頁面,並選擇版本,
本文選擇1.2.17
Java Apache Log4j 基本 下載 設定 使用
Log4j 頁面,並選擇版本




圖4 取得Maven dependency
Java Apache Log4j 基本 下載 設定 使用
取得Maven dependency


 <!-- http://mvnrepository.com/artifact/log4j/log4j -->
 <dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.17</version>
 </dependency>


五、加入 Log4j jar

圖5 本文使用Maven專案,將pom.xml 加入log4j的 dependency 即可。
Java Apache Log4j 基本 下載 設定 使用
log4j的 dependency



註:如果是下載jar檔,將 log4j-1.2.17.jar 加入 classpath中.
六、加入 log4j.properties 檔
這是log4j 的設定檔,可設定log等級 、輸出檔、console、layout 輸出格式...等。
圖6
Java Apache Log4j 基本 下載 設定 使用
輸出檔、console、layout 輸出格式



設定說明如下
 #定義 Root Logger 的等級為 INFO,且為其指定一個 appender 名為 rootAppender.
log4j.rootLogger=INFO, console

#指定 console 的類型.
log4j.appender.console=org.apache.log4j.ConsoleAppender

#指定 console 的 Layout.
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#log4j.appender.console.Target=System.out
#指定 console Layout 的輸出格式.
log4j.appender.console.layout.ConversionPattern=%5p [%d{yyyy-MM-ddHH:mm:ss}]-[%c{1}:%L][%x] %m%n

 


註:log4j.properties檔存放位置:預設讀取 build path 下。
圖6-1 設定build path 加入resources資料夾,
Java Apache Log4j 基本 下載 設定 使用
build path 加入resources



圖6-2 存放log4j.properties檔
Java Apache Log4j 基本 下載 設定 使用
log4j.properties




七、本文使用Maven專案測試說明

7-1 建立 測試程式 Log4jTestServlet.java

宣告使用logger
private static final  Logger log= Logger.getLogger(Log4jTestServlet.class) ;

使用logger
log.info("Log4jTestServlet...");
圖7
Java Apache Log4j 基本 下載 設定 使用
宣告 使用log4j


程式:
package com.test.log;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;

/**
 * Servlet implementation class Log4jTestServlet
 */
public class Log4jTestServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;
 private static final  Logger log= Logger.getLogger(Log4jTestServlet.class) ;

    /**
     * Default constructor.
     */
    public Log4jTestServlet() {
        // TODO Auto-generated constructor stub
     log.info("Log4jTestServlet...");
    }

 /**
  * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  log.info("doGet...");
 }

 /**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  log.info("doPost...");
 }

}




設定: web.xml
 

  <servlet>
   <servlet-name>Log4jTestServlet</servlet-name>
   <display-name>Log4jTestServlet</display-name>
   <description></description>
   <servlet-class>com.test.log.Log4jTestServlet</servlet-class>
  </servlet>
  <servlet-mapping>
   <servlet-name>Log4jTestServlet</servlet-name>
   <url-pattern>/Log4jTestServlet</url-pattern>
  </servlet-mapping>

 



八、測試
啟動後輸入servlet mapping name
http://localhost:8081/Log4jTest/Log4jTestServlet

查看console
圖 8
Java Apache Log4j 基本 下載 設定 使用
console 輸入出log





測試專案下載

















其它文章

沒有留言:

張貼留言

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...