Terry Zou
BlogJava
首頁
新隨筆
聯系
聚合
管理
posts - 93, comments - 2, trackbacks - 0
Servlet日志輸出Log4j配置
轉自:
http://musicbox95351.iteye.com/blog/868526
比如項目為一個UserServlet,主要分三步
1 日志輸出文件log4j.xml的配置。
2 加載日志配置文件的servlet類。
3 web.xml配置
第一步:
1
<?
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
2
<!
DOCTYPE log4j:configuration SYSTEM
"
log4j.dtd
"
>
3
<
log4j:configuration xmlns:log4j
=
"
http://jakarta.apache.org/log4j/
"
>
4
<
appender name
=
"
infoChannel
"
5
class
=
"
org.apache.log4j.RollingFileAppender
"
>
6
<!--
設置通道file和輸出方式:org.apache.log4j.RollingFileAppender
-->
7
<
param name
=
"
File
"
value
=
"
${catalina.home}/logs/tourist_guide_system_server.log
"
/><!--
設置File參數:日志輸出文件名
-->
8
<
param name
=
"
Append
"
value
=
"
true
"
/><!--
設置是否在重新啟動服務時,在原有日志的基礎添加新日志
-->
9
<
param name
=
"
MaxBackupIndex
"
value
=
"
10
"
/>
10
<
param name
=
"
MaxFileSize
"
value
=
"
10KB
"
/>
11
<
layout
class
=
"
org.apache.log4j.PatternLayout
"
>
12
<
param name
=
"
ConversionPattern
"
value
=
"
%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
"
/><!--
設置輸出文件項目和格式
-->
13
</
layout
>
14
<
filter
class
=
"
org.apache.log4j.varia.LevelRangeFilter
"
>
15
<
param name
=
"
LevelMin
"
value
=
"
INFO
"
/><!--
設置將INFO級別的日志通過該通道輸出
-->
16
<
param name
=
"
LevelMax
"
value
=
"
INFO
"
/>
17
</
filter
>
18
</
appender
>
19
<
appender name
=
"
debugChannel
"
20
class
=
"
org.apache.log4j.RollingFileAppender
"
>
21
<!--
設置通道file和輸出方式:org.apache.log4j.RollingFileAppender
-->
22
<
param name
=
"
File
"
value
=
"
${catalina.home}/logs/testdebug.log
"
/><!--
設置File參數:日志輸出文件名
-->
23
<
param name
=
"
Append
"
value
=
"
true
"
/><!--
設置是否在重新啟動服務時,在原有日志的基礎添加新日志
-->
24
<
param name
=
"
MaxBackupIndex
"
value
=
"
10
"
/>
25
<
param name
=
"
MaxFileSize
"
value
=
"
10KB
"
/>
26
<
layout
class
=
"
org.apache.log4j.PatternLayout
"
>
27
<
param name
=
"
ConversionPattern
"
value
=
"
%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
"
/><!--
設置輸出文件項目和格式
-->
28
</
layout
>
29
<
filter
class
=
"
org.apache.log4j.varia.LevelRangeFilter
"
>
30
<
param name
=
"
LevelMin
"
value
=
"
DEBUG
"
/>
31
<
param name
=
"
LevelMax
"
value
=
"
DEBUG
"
/>
32
</
filter
>
33
</
appender
>
34
<
appender name
=
"
STDOUT
"
class
=
"
org.apache.log4j.ConsoleAppender
"
>
35
<!--
設置監視器輸出方式
-->
36
<
layout
class
=
"
org.apache.log4j.PatternLayout
"
>
37
<
param name
=
"
ConversionPattern
"
38
value
=
"
%-4r [%t] %-5p %c %x - %m%n
"
/>
39
</
layout
>
40
<!--
濾鏡設置輸出的級別
-->
41
<
filter
class
=
"
org.apache.log4j.varia.LevelRangeFilter
"
>
42
<
param name
=
"
levelMin
"
value
=
"
info
"
/>
43
<
param name
=
"
levelMax
"
value
=
"
info
"
/>
44
<
param name
=
"
AcceptOnMatch
"
value
=
"
true
"
/>
45
</
filter
>
46
</
appender
>
47
48
<
root
>
49
<!--
設置輸出的級別大于等于DEGUG priority value
=
"
DEBUG
"
/
-->
50
<!--
設置輸出的級別
-->
51
<
priority value
=
"
INFO
"
/>
52
<!--
設置接收所有輸出的通道
-->
53
<
appender
-
ref ref
=
"
debugChannel
"
/>
54
<
appender
-
ref ref
=
"
infoChannel
"
/><!--
與前面的通道id相對應
-->
55
<
appender
-
ref ref
=
"
STDOUT
"
/>
56
</
root
>
57
58
</
log4j:configuration
>
第二步:
1
2
import
java.io.IOException;
3
4
import
javax.servlet.ServletException;
5
import
javax.servlet.http.HttpServlet;
6
import
javax.servlet.http.HttpServletRequest;
7
import
javax.servlet.http.HttpServletResponse;
8
9
import
org.apache.log4j.xml.DOMConfigurator;
10
import
org.slf4j.Logger;
11
import
org.slf4j.LoggerFactory;
12
13
public
class
UserServlet
extends
HttpServlet
{
14
private
static
final
Logger log
=
LoggerFactory.getLogger(UserServlet.
class
);
15
public
UserServlet()
{}
16
17
public
void
init()
throws
ServletException
{
18
log.info(
"
Initializing, My MyActionServlet init this System's Const Variable
"
);
19
String prefix
=
this
.getServletConfig().getServletContext().getRealPath(
"
/
"
);
//
讀取項目的路徑
20
String file
=
this
.getServletConfig().getInitParameter(
"
log4j
"
);
//
讀取log4j相對路徑
21
String filePath
=
prefix
+
file;
22
DOMConfigurator.configure(filePath);
//
加載.xml文件
23
log.info(
"
Initializing, end My Init
"
);
24
super
.init();
//
此方法不能省,ActionServlet覆蓋了的此方法中有很多重要操作
25
}
26
}
第三步:
web.xml文件中增加servlet配置
1
<
servlet
>
2
<
servlet
-
name
>
userServlet
</
servlet
-
name
>
3
<
servlet
-
class
>
com.richhouse.servlet.UserServlet
</
servlet
-
class
>
4
<
init
-
param
>
5
<
param
-
name
>
log4j
</
param
-
name
>
6
<!--
這里標出了位置
-->
7
<
param
-
value
>/
WEB
-
INF
/
log4j.xml
</
param
-
value
>
8
</
init
-
param
>
9
<
load
-
on
-
startup
>
1
</
load
-
on
-
startup
>
10
</
servlet
>
11
<
servlet
-
mapping
>
12
<
servlet
-
name
>
userServlet
</
servlet
-
name
>
13
<
url
-
pattern
>/
userServlet
</
url
-
pattern
>
14
</
servlet
-
mapping
>
posted on 2014-05-26 11:13
Terry Zou
閱讀(1422)
評論(0)
編輯
收藏
所屬分類:
Tomcat+Eclipse
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
Servlet日志輸出Log4j配置
如何使用log4j打印日志并保存日志
hibernate參數一覽表
Multiple markers at this line
hibernate常見異常
oracle中imp命令詳解
字節數組的相關操作(取反,查找位置,轉為16進制)
Web項目Spring+hibernate+Spring mvc簡單的添刪改查
將字節數組轉換為ImageView可調用的Bitmap對象
與
的區別與作用
Copyright ©2025 Terry Zou Powered By:
博客園
模板提供:
滬江博客
<
2014年5月
>
日
一
二
三
四
五
六
27
28
29
30
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
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆分類
Android(49)
Androidpn(2)
hibernate(1)
Https(1)
JavaCard(3)
jQuery(6)
netty
NFC(1)
react框架(1)
spring(2)
SpringBoot(1)
Tomcat+Eclipse(18)
WebService(2)
一些心得(1)
隨筆檔案
2020年4月 (4)
2015年7月 (5)
2015年6月 (6)
2015年5月 (4)
2015年4月 (3)
2015年3月 (1)
2015年2月 (1)
2015年1月 (4)
2014年12月 (1)
2014年11月 (2)
2014年10月 (2)
2014年9月 (2)
2014年5月 (5)
2014年3月 (3)
2014年2月 (2)
2014年1月 (8)
2013年12月 (2)
2013年7月 (2)
2013年6月 (4)
2013年5月 (16)
2012年7月 (1)
2012年3月 (2)
2011年7月 (6)
文章分類
struts2.1.6(3)
文章檔案
2020年4月 (1)
2012年3月 (3)
相冊
my angel
收藏夾
Java
Java
搜索
最新隨筆
1.?搭建React環境,運行React項目
2.?Spring @PostConstruct 、@Autowired和Construct 順序
3.?Spring中的ApplicationListener的使用詳解案例(觀察者模式)
4.?@SpringBootApplication的使用
5.?服務器連接
6.?ffg
7.?abe
8.?abd
9.?abc
10.?Android之Activity的四種啟動模式
最新評論
1.?re: Android JSON的簡單例子
評論內容較長,點擊標題查看
--JSON.COM
2.?re: androidpn(本文服務器為tomcat)
評論內容較長,點擊標題查看
--Deepak Singh
閱讀排行榜
1.?androidpn(本文服務器為tomcat)(5209)
2.?Web項目Spring+hibernate+Spring mvc簡單的添刪改查(4153)
3.?如何使用log4j打印日志并保存日志(3433)
4.?HttpClient連接服務器(方法有很多,我只寫HttpPost,接收數據,傳輸數據都為json形式)(3376)
5.?配置數據源(mysql)(3074)
評論排行榜
1.?Android JSON的簡單例子(1)
2.?androidpn(本文服務器為tomcat)(1)
3.?Runtime.getRuntime().addShutdownHook((0)
4.?setDaemon(0)
5.?PendingIntent(0)
主站蜘蛛池模板:
你懂的在线免费观看
|
美女的胸又黄又www网站免费
|
国产线视频精品免费观看视频
|
亚洲AV无码一区二三区
|
亚洲精品视频免费
|
国产偷国产偷亚洲清高动态图
|
国产免费牲交视频免费播放
|
亚洲午夜福利精品久久
|
国产免费网站看v片在线
|
亚洲AV无码成人专区片在线观看
|
国产成人久久AV免费
|
久久精品国产亚洲AV无码偷窥
|
91精品国产免费久久久久久青草
|
亚洲AV无码精品无码麻豆
|
两性色午夜视频免费网
|
亚洲gv白嫩小受在线观看
|
国产成人免费视频
|
亚洲国产成人99精品激情在线
|
日韩a级毛片免费观看
|
免费视频精品一区二区
|
亚洲AV日韩精品久久久久
|
精品国产无限资源免费观看
|
2020久久精品亚洲热综合一本
|
免费永久国产在线视频
|
a级在线免费观看
|
亚洲国产精品综合久久久
|
国产午夜无码视频免费网站
|
久久精品无码专区免费
|
97se亚洲综合在线
|
成人在线视频免费
|
日本一区二区在线免费观看
|
久久久久无码精品亚洲日韩
|
成人免费午夜在线观看
|
久久毛片免费看一区二区三区
|
亚洲麻豆精品果冻传媒
|
四虎影视在线永久免费观看
|
最近2019中文免费字幕在线观看
|
亚洲av永久无码精品天堂久久
|
在线观看人成视频免费
|
花蝴蝶免费视频在线观看高清版
|
亚洲无线一二三四区手机
|