log4j.xml配置詳解及log4j日誌使用詳解
log4j 有兩種配置方法,大家熟知的是properties檔案但是最近的專案實施中,每次去使用者那裡裝系統,都要苦惱於log檔案放在不同位置,要改property檔案就要重打jar包,麻煩的緊。而如果採用 xml配置的方法,直接放在WEB-INFO下,要修改路徑,很方便。查了些資料,終於把系統的log4j改成在xml中配置啦。
記一下記一下……嘿嘿
附:log4j的API http://logging.apache.org/log4j/docs/api/index.html
log4i.xml 檔案
- <?xmlversion="1.0"encoding="GB2312"?>
- <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"
- <log4j:configurationxmlns:log4j="http://jakarta.apache.org/log4j/">
- <appendername="FILE"
- class="org.apache.log4j.RollingFileAppender">
- <!-- 設定通道file和輸出方式:org.apache.log4j.RollingFileAppender -->
- <paramname="File"value="D:/zhaotj/all.output.log"/><!-- 設定File引數:日誌輸出檔名 -->
- <
- <paramname="MaxBackupIndex"value="10"/>
- <layoutclass="org.apache.log4j.PatternLayout">
- <paramname="ConversionPattern"value="%p (%c:%L)- %m%n"/><!-- 設定輸出檔案專案和格式 -->
- </layout>
- </appender>
- <appender
- <!-- 設定監視器輸出方式 -->
- <layoutclass="org.apache.log4j.PatternLayout">
- <paramname="ConversionPattern"
- value="%-4r [%t] %-5p %c %x - %m%n"/>
- </layout>
- <!--濾鏡設定輸出的級別-->
- <filterclass="org.apache.log4j.varia.LevelRangeFilter">
- <paramname="levelMin"value="info"/>
- <paramname="levelMax"value="info"/>
- <paramname="AcceptOnMatch"value="true"/>
- </filter>
- </appender>
- <root><!-- 設定接收所有輸出的通道 -->
- <priorityvalue="info"/>
- <appender-refref="FILE"/><!-- 與前面的通道id相對應 -->
- <appender-refref="STDOUT"/>
- </root>
- </log4j:configuration>
建好xml檔案後 要寫一個servlet類繼承actionservlet,當工程初始化時自動載入xml配置檔案
- package com.asiainfo;
- import javax.servlet.ServletException;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.apache.log4j.xml.DOMConfigurator;
- import org.apache.struts.action.ActionServlet;
- publicclass ExtendedActionServlet extends ActionServlet {
- private Log log = LogFactory.getLog(this.getClass().getName());
- public ExtendedActionServlet() {}
- publicvoid init() throws ServletException {
- log.info(
- "Initializing, My MyActionServlet init this System's Const Variable");
- String prefix = this.getServletConfig().getServletContext().getRealPath(
- "/");//讀取專案的路徑
- String file = this.getServletConfig().getInitParameter("log4j");
- //讀取log4j相對路徑
- String filePath = prefix + file;
- DOMConfigurator.configure(filePath);//載入.xml檔案
- log.info("Initializing, end My Init");
- super.init();//應用了struts,此方法不能省,ActionServlet覆蓋了的此方法中有很多重要操作
- }
- }
我們可以看到 在此類中 用了相對路徑來載入xml的方法,首先通過prefix 讀取了專案的路徑 然後再通過讀取web.xml中的log4j變數,獲得log4j.xml的相對路徑 兩者結合 就是他的絕對路徑拉
最後在web.xml中配置action資訊 就可以實現載入啦
web.xml
- <servlet>
- <servlet-name>action</servlet-name>
- <servlet-class>
- com.asiainfo.ExtendedActionServlet
- </servlet-class>
- <init-param>
- <param-name>config</param-name>
- <param-value>/WEB-INF/struts-config.xml</param-value>
- </init-param>
- <!-- tsExtend -->
- <init-param>
- <param-name>config/tsextend</param-name><!--裝置檢測子模組-->
- <param-value>
- /WEB-INF/tsextend/struts-config.xml
- </param-value>
- </init-param>
- <init-param>
- <param-name>log4j</param-name><!--log4j.xml的路徑-->
- <param-value>
- /WEB-INF/log4j.xml
- </param-value>
- </init-param>
- <init-param>
- <param-name>info</param-name>
- <param-value>3</param-value>
- </init-param>
- <init-param>
- <param-name>detail</param-name>
- <param-value>3</param-value>
- </init-param>
- <load-on-startup>0</load-on-startup><!--設定當工程初始時便執行-->
- </servlet>
- <servlet-mapping>
- <servlet-name>action</servlet-name>
- <url-pattern>*.do</url-pattern>
- </servlet-mapping>
/////////////
log4j日誌使用詳解 |
|
|
相關推薦
log4j.xml配置詳解及log4j日誌使用詳解
log4j 有兩種配置方法,大家熟知的是properties檔案但是最近的專案實施中,每次去使用者那裡裝系統,都要苦惱於log檔案放在不同位置,要改property檔案就要重打jar包,麻煩的緊。而如果採用 xml配置的方法,直接放在WEB-INFO下,要修改路徑,很方便。查
java日誌處理元件log4j--log4j.xml配置詳解
<?xml version="1.0" encoding="GBK" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http:/
log4j.xml配置詳解 properties 的太費眼了
Xml程式碼 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log
Log4J.xml配置詳解
Appender Appender:日誌輸出器,配置日誌的輸出級別、輸出位置等,包括以下幾類: ConsoleAppender: 日誌輸出到控制檯; FileAppender:輸出到檔案; RollingFileAppender:輸出到檔案,檔案達到一定閾
Log4j.xml配置詳解(轉)
Xml程式碼<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:confi
systemd配置文件及管理方法詳解
systemd一、systemd文件夾配置文件夾: systemd 配置文件存在於以下三個文件夾中: ①/etc/systemd/system 存放系統啟動的默認級別及啟動的unit的軟連接,優先級最高。②/run/systemd/system,系統執行過程中產生的服務腳本,優先級次
java-log4j-xml配置 category、logger、boot 標簽使用
sina 運放 oot margin XML www inf ava app 掌盞撐貝貪下參鴉傺疑http://www.docin.com/sina_6367437814 於鋅中儀蕾柯檀遜渦塗鼓蛔僑http://www.docin.com/sina_6370801430
java-log4j-xml配置category、logger、boot標簽使用
cin com 標簽 oci ddn tar boot xml配置 使用 卑閑洶誌較黴園錳譖釩蒂http://jz.docin.com/ami17633 綴兄怯烈幕怪杖曝嶽脖擋扯http://shufang.docin.com/ami17633 斬莆曰聞藝諫糜粗順迅吹h
Tomcat安裝、配置、優化及負載均衡詳解
error png cache 新的 ip地址 ace ppa 不同步 工作目錄 一、常見JavaWeb服務器 1、WebLogic:是BEA公司的產品、WebSphereAS:是IBM公司的產品、JBossAS:紅帽公司的產品,可以自行了解 2、Tomcat服務器:S
Log4j.xml配置講解
<?xml version="1.0" encoding="UTF-8"?> <!-- 標頭檔案 --> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <
log4j.properties,log4j.xml配置檔案的配置示例
log4j.properties日誌檔案的配置一般放在src源目錄下就可以了,下面是具體的配置示例: ### direct log messages to stdout ### log4j.appe
Log4j.xml配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://ja
log4j.xml配置檔案中引入變數
Boss最初建議,修改Tomcat的啟動指令碼,在裡面增加變數配置,比如“-Dlog4jOutputPath=c:/log4j”。 我一聽,就不太贊成這種做法了。對於開發與運維都是一撥人,經常需要和其它開發人員交流的情況,修改Tomcat自身的配置比較麻煩。為什麼這麼
Log4j.xml配置(很詳細)
獲取logger Logger.getRootLogger() 獲取根logger Logger.getLogger(String name)獲取子logger Logger.getLogger(Class clazz)或 Logger.getLogger(clazz.getName()) 設定日誌級
在專案的classPath 下配置log4j.xml ,為什麼沒有讀取log4j的配置檔案它會自己找到
因為在我們引的jar包 log4j-1.2.16.jar裡面,在啟動時又一個類會自動去找預設的配置檔案, 這些是在LogManage.java裡面的。預設會去classPath下查詢log4j的配
java log4j.xml配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j=
搜索系統中所有以.repo結尾的文件並刪除(find命令詳解及xargs命令詳解)
搜索系統 輸入 最大的 tin fin pro 多個 term 傳遞參數 find / -name *.repo | xargs rm –rf //搜索以.repo結尾的文件並刪除 find命令詳解 精細查找文件或目錄d find [ 查找範圍 ]
支付平臺--清結算流程詳解及對賬詳解
 
logback.xml配置如何按天輸出日誌檔案
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <la
關於log4j2的xml配置,以及不同級別日誌輸出到不同日誌檔案
例如,考慮下如下的常見場景:WEB應用,我們不希望把log4j2.xml打包到自己的jar檔案中(這樣修改log4j2的配置就麻煩了),也不希望把log4j2.xml放到WEB-INF/classes下面(不希望使用者隨便操作WEB-INF下的檔案),那我們可以