轉(zhuǎn)自:http://musicbox95351.iteye.com/blog/868526
比如項(xiàng)目為一個(gè)UserServlet,主要分三步
1 日志輸出文件log4j.xml的配置。
2 加載日志配置文件的servlet類。
3 web.xml配置
第一步:
比如項(xiàng)目為一個(gè)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è)置是否在重新啟動(dòng)服務(wù)時(shí),在原有日志的基礎(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è)置輸出文件項(xiàng)目和格式 -->
13
</layout>
14
<filter class="org.apache.log4j.varia.LevelRangeFilter">
15
<param name="LevelMin" value="INFO" /><!--設(shè)置將INFO級(jí)別的日志通過(guò)該通道輸出-->
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è)置是否在重新啟動(dòng)服務(wù)時(shí),在原有日志的基礎(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è)置輸出文件項(xiàng)目和格式 -->
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è)置輸出的級(jí)別-->
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è)置輸出的級(jí)別大于等于DEGUG priority value="DEBUG" / -->
50
<!--設(shè)置輸出的級(jí)別-->
51
<priority value="INFO" />
52
<!-- 設(shè)置接收所有輸出的通道 -->
53
<appender-ref ref="debugChannel" />
54
<appender-ref ref="infoChannel" /><!-- 與前面的通道id相對(duì)應(yīng) -->
55
<appender-ref ref="STDOUT" />
56
</root>
57
58
</log4j:configuration>

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

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

第二步:
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("/");//讀取項(xiàng)目的路徑
20
String file = this.getServletConfig().getInitParameter("log4j");//讀取log4j相對(duì)路徑
21
String filePath = prefix + file;
22
DOMConfigurator.configure(filePath);//加載.xml文件
23
log.info("Initializing, end My Init");
24
super.init();//此方法不能省,ActionServlet覆蓋了的此方法中有很多重要操作
25
}
26
}

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

第三步: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
<!-- 這里標(biāo)出了位置 -->
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>

2

3

4

5

6

7

8

9

10

11

12

13

14
