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)
主站蜘蛛池模板:
日本成人免费在线
|
免费福利网站在线观看
|
免费人成视网站在线观看不卡
|
亚洲欧洲国产经精品香蕉网
|
亚洲精品视频免费看
|
亚洲午夜在线电影
|
久久午夜羞羞影院免费观看
|
亚洲国产综合专区在线电影
|
亚洲国产精品嫩草影院
|
午夜免费福利影院
|
亚洲国产欧美日韩精品一区二区三区
|
黄色片在线免费观看
|
精品亚洲成A人无码成A在线观看
|
成人毛片18女人毛片免费96
|
亚洲日韩av无码中文
|
国产免费私拍一区二区三区
|
深夜a级毛片免费视频
|
国产中文在线亚洲精品官网
|
中国国产高清免费av片
|
久久久久亚洲av无码专区蜜芽
|
99在线免费观看视频
|
天天爽亚洲中文字幕
|
日本免费一区尤物
|
一级毛片免费在线观看网站
|
国产美女亚洲精品久久久综合
|
四虎国产成人永久精品免费
|
亚洲宅男精品一区在线观看
|
日韩在线免费电影
|
a级黄色毛片免费播放视频
|
7777久久亚洲中文字幕蜜桃
|
成在人线AV无码免费
|
一区二区三区免费高清视频
|
久久青青草原亚洲AV无码麻豆
|
精品久久久久久久久免费影院
|
午夜肉伦伦影院久久精品免费看国产一区二区三区
|
九月婷婷亚洲综合在线
|
91成年人免费视频
|
美女被免费网站在线视频免费
|
青娱分类视频精品免费2
|
极品色天使在线婷婷天堂亚洲
|
亚洲免费人成在线视频观看
|