Terry Zou
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
posts - 93, comments - 2, trackbacks - 0
Servlet日志輸出Log4j配置
轉(zhuǎn)自:
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
<!--
設(shè)置通道file和輸出方式:org.apache.log4j.RollingFileAppender
-->
7
<
param name
=
"
File
"
value
=
"
${catalina.home}/logs/tourist_guide_system_server.log
"
/><!--
設(shè)置File參數(shù):日志輸出文件名
-->
8
<
param name
=
"
Append
"
value
=
"
true
"
/><!--
設(shè)置是否在重新啟動服務(wù)時,在原有日志的基礎(chǔ)添加新日志
-->
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
"
/><!--
設(shè)置輸出文件項目和格式
-->
13
</
layout
>
14
<
filter
class
=
"
org.apache.log4j.varia.LevelRangeFilter
"
>
15
<
param name
=
"
LevelMin
"
value
=
"
INFO
"
/><!--
設(shè)置將INFO級別的日志通過該通道輸出
-->
16
<
param name
=
"
LevelMax
"
value
=
"
INFO
"
/>
17
</
filter
>
18
</
appender
>
19
<
appender name
=
"
debugChannel
"
20
class
=
"
org.apache.log4j.RollingFileAppender
"
>
21
<!--
設(shè)置通道file和輸出方式:org.apache.log4j.RollingFileAppender
-->
22
<
param name
=
"
File
"
value
=
"
${catalina.home}/logs/testdebug.log
"
/><!--
設(shè)置File參數(shù):日志輸出文件名
-->
23
<
param name
=
"
Append
"
value
=
"
true
"
/><!--
設(shè)置是否在重新啟動服務(wù)時,在原有日志的基礎(chǔ)添加新日志
-->
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
"
/><!--
設(shè)置輸出文件項目和格式
-->
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
<!--
設(shè)置監(jiān)視器輸出方式
-->
36
<
layout
class
=
"
org.apache.log4j.PatternLayout
"
>
37
<
param name
=
"
ConversionPattern
"
38
value
=
"
%-4r [%t] %-5p %c %x - %m%n
"
/>
39
</
layout
>
40
<!--
濾鏡設(shè)置輸出的級別
-->
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
<!--
設(shè)置輸出的級別大于等于DEGUG priority value
=
"
DEBUG
"
/
-->
50
<!--
設(shè)置輸出的級別
-->
51
<
priority value
=
"
INFO
"
/>
52
<!--
設(shè)置接收所有輸出的通道
-->
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
閱讀(1420)
評論(0)
編輯
收藏
所屬分類:
Tomcat+Eclipse
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
Servlet日志輸出Log4j配置
如何使用log4j打印日志并保存日志
hibernate參數(shù)一覽表
Multiple markers at this line
hibernate常見異常
oracle中imp命令詳解
字節(jié)數(shù)組的相關(guān)操作(取反,查找位置,轉(zhuǎn)為16進制)
Web項目Spring+hibernate+Spring mvc簡單的添刪改查
將字節(jié)數(shù)組轉(zhuǎn)換為ImageView可調(diào)用的Bitmap對象
與
的區(qū)別與作用
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環(huán)境,運行React項目
2.?Spring @PostConstruct 、@Autowired和Construct 順序
3.?Spring中的ApplicationListener的使用詳解案例(觀察者模式)
4.?@SpringBootApplication的使用
5.?服務(wù)器連接
6.?ffg
7.?abe
8.?abd
9.?abc
10.?Android之Activity的四種啟動模式
最新評論
1.?re: Android JSON的簡單例子
評論內(nèi)容較長,點擊標題查看
--JSON.COM
2.?re: androidpn(本文服務(wù)器為tomcat)
評論內(nèi)容較長,點擊標題查看
--Deepak Singh
閱讀排行榜
1.?androidpn(本文服務(wù)器為tomcat)(5208)
2.?Web項目Spring+hibernate+Spring mvc簡單的添刪改查(4149)
3.?如何使用log4j打印日志并保存日志(3432)
4.?HttpClient連接服務(wù)器(方法有很多,我只寫HttpPost,接收數(shù)據(jù),傳輸數(shù)據(jù)都為json形式)(3376)
5.?配置數(shù)據(jù)源(mysql)(3069)
評論排行榜
1.?Android JSON的簡單例子(1)
2.?androidpn(本文服務(wù)器為tomcat)(1)
3.?Runtime.getRuntime().addShutdownHook((0)
4.?setDaemon(0)
5.?PendingIntent(0)
主站蜘蛛池模板:
国产激情免费视频在线观看
|
毛片免费视频在线观看
|
久久精品国产亚洲AV无码偷窥
|
91香蕉国产线观看免费全集
|
亚洲熟妇无码八V在线播放
|
亚洲男人在线无码视频
|
亚洲一区二区三区免费在线观看
|
亚洲AV成人一区二区三区观看
|
在线亚洲人成电影网站色www
|
免费观看激色视频网站(性色)
|
国产亚洲女在线线精品
|
亚洲国产精品久久久久网站
|
国产精品jizz在线观看免费
|
无码人妻久久一区二区三区免费
|
中文字幕在线亚洲精品
|
国产精品久久久久久久久免费
|
男人扒开添女人下部免费视频
|
久久亚洲AV无码精品色午夜
|
日本免费人成黄页在线观看视频
|
免费夜色污私人影院网站电影
|
免费人成网站在线观看不卡
|
亚洲欧美日韩综合久久久
|
亚洲av午夜福利精品一区人妖
|
在线看片无码永久免费aⅴ
|
99久久99久久精品免费观看
|
午夜肉伦伦影院久久精品免费看国产一区二区三区
|
女人体1963午夜免费视频
|
国产精品亚洲综合
|
亚洲国产成人91精品
|
亚洲精品成人网站在线观看
|
又大又硬又爽免费视频
|
免费看污成人午夜网站
|
国产一精品一AV一免费
|
一区二区三区视频免费
|
亚洲熟妇少妇任你躁在线观看
|
亚洲日本va午夜中文字幕一区
|
国产成人亚洲综合无码
|
国产男女猛烈无遮挡免费视频网站
|
国产亚洲精彩视频
|
亚洲一区二区观看播放
|
亚洲日韩乱码中文无码蜜桃
|