国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - 深入淺析java web log4j 配置及在web項目中配置Log4j的技巧

深入淺析java web log4j 配置及在web項目中配置Log4j的技巧

2020-01-15 14:41專注挖煤二十年 JAVA教程

在上篇文章給大家介紹了Java log4j詳細教程,本文給大家介紹java web log4j配置及web項目中配置log4j的技巧。具體詳情請看下文吧。

在上篇文章給大家介紹了Java log4j詳細教程,本文給大家介紹java web log4j配置及web項目中配置log4j的技巧。具體詳情請看下文吧。

首先給大家提供log4j.jar下載:http://logging.apache.org/log4j/1.2/download.html

一、java web項目使用log4j

1.在web.xml文件中添加

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- 配置log4j -->
 <context-param>
 <param-name>webAppRootKey</param-name>
 <param-value>com.hsinghsu.testSSH.webapp.root</param-value>
 </context-param>
 <context-param>
 <param-name>log4jConfigLocation</param-name>
 <param-value>/WEB-INF/classes/log4j.properties</param-value>
 </context-param>
 <context-param>
 <param-name>log4jRefreshInterval</param-name>
 <param-value>600000</param-value>
 </context-param>

2.添加log4j.properties文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
log4j.rootCategory=INFO, stdout , R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.R.File=e:\\test\\avatar.log
## linux logs file path
#log4j.appender.R.File=${com.hsinghsu.testSSH.webapp.root}/log/testlog.log
## Windows logs file path
log4j.appender.R.File=D:\\eclipsespace\\testSSH\\WebContent\\WEB-INF\\testlog.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
#log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
#log4j.logger.com.neusoft=DEBUG
#log4j.logger.com.opensymphony.oscache=ERROR
log4j.logger.net.sf.navigator=INFO
#log4j.logger.org.apache.commons=ERROR
#log4j.logger.org.apache.struts=WARN
#log4j.logger.org.displaytag=ERROR
#
log4j.logger.org.springframework=INFO
#
#log4j.logger.com.ibatis.db=WARN
#log4j.logger.org.apache.velocity=FATAL
#log4j.logger.com.canoo.webtest=WARN
#log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
#log4j.logger.org.hibernate=DEBUG
log4j.logger.org.hibernate=INFO
#log4j.logger.org.logicalcobwebs=WARN

3.使用log4j

例如在UserServiceImpl.java中使用log4j。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.hsinghsu.testSSH.service.impl;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hsinghsu.testSSH.dao.UserDao;
import com.hsinghsu.testSSH.model.User;
import com.hsinghsu.testSSH.service.UserService;
@Service(value = "userService")
public class UserServiceImpl implements UserService{
 @Autowired
 private UserDao userDao;
// private final static Logger logger = Logger.getLogger(UserServiceImpl.class);
 private Logger logger = Logger.getLogger(this.getClass().getName());
 public boolean login(String name, String password)
 {
  logger.info("--UserServiceImpl login method name:"+name+" password:"+password);
  User user = userDao.getUserByName(name);
  if(user!=null)
  {
  if(password.equals(user.getPwd()))
  {
   return true;
  }
  }
  return false;
 }
}

二、log4j.properties參數詳解

log的級別分為debug(調試信息)、info(一般信息)、warn(警告信息)、error(錯誤信息)、fatal(致命錯誤信息)。 
Log4j支持兩種配置文件格式,一種是XML格式的文件,一種是java屬性文件log4j.properties,下面以log4j.properties為例進行說明。  

1、配置根Logger 

Logger 負責處理日志記錄的大部分操作,其語法為:  

   log4j.rootLogger = [ level ] , appenderName1, appenderName2, …  

         level : 是日志記錄的優先級,分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定義的級別。 

       appenderName:就是指定日志信息輸出目的地的名稱。  

    如:log4j.rootLogger=info,A1,B2,C3   

    在早期log4j版本中,org.apache.Category實現了記錄器的功能,后使用logger擴展了Category類,因此log4j.rootCategory也可以使用。  

    如:log4j.rootCategory=INFO,A1,A2  

2、配置日志信息輸出目的地 Appender 

Appender 負責控制日志記錄操作的輸出,其語法為:  

   log4j.appender.appenderName = fully.qualified.name.of.appender.class    

   其中"fully.qualified.name.of.appender.class" 有以下幾種: 
          i.org.apache.log4j.ConsoleAppender(控制臺)  

                該選項有以下幾種:  

                    Threshold=WARN:指定日志消息的輸出最低層次。 
                    ImmediateFlush=true:默認值是true,意謂著所有的消息都會被立即輸出。 
                    Target=System.err:默認情況下是:System.out,指定輸出控制臺 
          ii.org.apache.log4j.FileAppender(文件)  

                該選項有以下幾種:  

                    Threshold=WARN:指定日志消息的輸出最低層次。 
                    ImmediateFlush=true:默認值是true,意謂著所有的消息都會被立即輸出。 
                    File=mylog.txt:指定消息輸出到mylog.txt文件。 
                    Append=false:默認值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內容。 
          iii.org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件)  

                該選項有以下幾種:  

                    Threshold=WARN:指定日志消息的輸出最低層次。 
                    ImmediateFlush=true:默認值是true,意謂著所有的消息都會被立即輸出。 
                    File=a.log:指定消息輸出到a.log文件,默認是從web服務器的根路徑開始。 
                    Append=false:默認值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內容。 
                    DatePattern='.'yyyy-ww:每周滾動一次文件,即每周產生一個新的文件。當然也可以指定按月、周、天、時和分。即對應的格式如下: 
                        '.'yyyy-MM: 每月 
                        '.'yyyy-ww: 每周  
                        '.'yyyy-MM-dd: 每天 
                        '.'yyyy-MM-dd-a: 每天兩次 
                        '.'yyyy-MM-dd-HH: 每小時 
                        '.'yyyy-MM-dd-HH-mm: 每分鐘 
          iv.org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件,可通過log4j.appender.appenderName.MaxFileSize=100KB設置文件大?。?nbsp; 

               該選項有以下幾種:                      

                    Threshold=WARN:指定日志消息的輸出最低層次。 
                    ImmediateFlush=true:默認值是true,意謂著所有的消息都會被立即輸出。 
                    File=a.log:指定消息輸出到a.log文件,默認是從web服務器的根路徑開始。 
                    Append=false:默認值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內容。 
                    MaxFileSize=100KB: 后綴可以是KB, MB 或者是 GB. 在日志文件到達該大小時,將會自動滾動,即將原來的內容移到mylog.log.1文件。 
                    MaxBackupIndex=2:指定可以產生的滾動文件的最大數。 
          v.org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)  
                      

    例如:  

            log4j.appender.R=org.apache.log4j.DailyRollingFileAppender 
            log4j.appender.R.File=D:\\eclipsespace\\testSSH\\WebContent\\WEB-INF\\testlog.log  

3、配置日志信息的格式(布局)Layout 

Layout 負責格式化Appender的輸出,其語法為: 
  log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class 
        其中"fully.qualified.name.of.layout.class" 有以下幾種: 
           i.org.apache.log4j.HTMLLayout(以HTML表格形式布局) 
                 該選項有以下幾種: 
                      LocationInfo=true:默認值是false,輸出java文件名稱和行號 
                      java" id="highlighter_293727">

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class QueryMyMeetingAction extends BaseFlowAction
{
 /**
 * uid
 */
 private static final long serialVersionUID = 7612831197603586815L;
 private static Log runLog = LogFactory.getLog("runLogger");//運行日志
 private static Log interfaceLog = LogFactory.getLog("interfaceLogger");//接口日志
 public String execute() throws Exception
 {
 interfaceLog.info("====>>請求");
 runLog.info("請求02" );
 return super.execute();
 }
}

下面給大家介紹在Web項目中配置Log4j的方法

 1. 動態的改變記錄級別和策略,不需要重啟Web應用,如《Effective Enterprise Java》所說。

 2. 把log文件定在 /WEB-INF/logs/ 而不需要寫絕對路徑。

 3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ ,而不是Class-Path。

   在web.xml 添加

    <!--如果不定義webAppRootKey參數,那么webAppRootKey就是缺省的"webapp.root"-->  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>xxx.root</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

     在上文的配置里,Log4jConfigListener會去WEB-INF/log4j.propeties 讀取配置文件;

     開一條watchdog線程每60秒掃描一下配置文件的變化;

     并把web目錄的路徑壓入一個叫webapp.root的系統變量。

     然后,在log4j.properties 里就可以這樣定義logfile位置

         log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log

     如果有多個web應用,怕webapp.root變量重復,可以在context-param里定義webAppRootKey。

以上所述就是本文關于深入淺析java web log4j 配置及在web項目中配置Log4j的技巧,希望對大家學習java web log4j相關知識有所幫助。

  • Java
  • Web
  • log4j
  • 延伸 · 閱讀

    精彩推薦
    517
    Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
    主站蜘蛛池模板: 午夜久久久久 | 午夜影院免费看 | 国产毛片在线 | 中文视频在线 | 日韩精品一区二区三区第95 | 亚洲男人在线天堂 | 极品美女销魂一区二区三区 | 国产精品久久久久久久久久免费 | 插插射啊爱视频日a级 | 黄色在线观看 | 久久久精品久久久 | 日韩精品一区二区三区在线 | 亚洲欧美日韩精品久久亚洲区 | 日韩欧美在线一区 | 精品久久99 | 国产一区二区精品 | 国产91久久久 | 久久久久久久久久久久国产 | 国产一区网站 | 精品蜜桃一区二区三区 | 欧美日韩国产精品一区二区 | 久久久久久国产精品 | 在线观看成人 | 视频一区 中文字幕 | 亚洲一区 | 亚洲视频一区二区三区 | 精品一区二区三区久久 | 国产激情偷乱视频一区二区三区 | 中文字幕视频在线 | 精品亚洲一区二区三区四区五区 | 国产一区二区三区成人 | 久久精品2019中文字幕 | 久久99蜜桃综合影院免费观看 | 一级黄色免费网站 | 五月天婷婷社区 | 欧美精品系列 | 爱爱视频网址 | 九九热精品视频 | www.国产精品 | 国产毛片黄色片 | 午夜影院网站 |