我是一个新入行的菜鸟,现在在做java服务器,在这里记录下服务器框架的主要构成,有任何不准确与错误的地方,希望看到的人提出意见。非常感谢!
一、概述。
1.1日志系统介绍。
任何一个应用程序或者游戏的服务器日志系统都是必须的,日志系统的主要目的是:监视代码变量变化;记录服务器访问操作记录以及异常运行操作记录;进行部分统计分析工作;担当开发环境中调试器作用,输出代码调试信息。
1.2 日志系统的选择。
现在最流行的应该是logback,网上很多log4j应该替换为logback的帖子。但是项目一般都会用到很多的框架,很多框架的日志系统都是log4j,所以我们也必须在项目中加入log4j与slf4j。我们需要的jar包包括:logback.classic-1.1.1.jar、logback-core-1.1.1.jar、slf4j-api-1.7.6.jar。是简单介绍下logback的优点,当然大部分都是网上的观点摘抄。
更快的速度。某些执行速度据说快了10倍,而且内存占用也更小了。实现了SLF4j。logback-classics实现了SLF4j,可以非常容易的切换log4j。自动重载配置文件。配置文件修改后,能自动重新加载配置文件,扫描过程快速安全。堆栈树带有包版本。自动去除旧日志文件。当然还有很多其他的优缺点比较,这里只列举我比较关心的。
1.3 下载地址。
http://logback.qos.ch/download.html 可以去官方下载最新包,以及相关文档支持。
二、配置
贴一个测试的日志配置logback.xml
message.contains("dao")
ACCEPT
DENY
%date %-5level [%logger{0}] %thread - %msg%n
message.contains("dao")
ACCEPT
DENY
${log.base}.log
${log.base}_%d{yyyy-MM-dd}.log.zip
100MB
%date %-5level [%logger{0}] %thread - %msg%n
粘一个别的大神正在用的,具体设置根据项目自行编写。
2
3
4
5
6
7 %date [%thread] %-5level %logger{80} - %msg%n
8
9
10
11
12
13 class="ch.qos.logback.core.rolling.RollingFileAppender">
14
15 DEBUG
16 ACCEPT
17 DENY
18
19
20 D:/logs/debug.%d{yyyy-MM-dd}.log
21 30
22
23
24 %date [%thread] %-5level %logger{80} - %msg%n
25
26
27
28
29
30 class="ch.qos.logback.core.rolling.RollingFileAppender">
31
32 ERROR
33 ACCEPT
34 DENY
35
36
37 D:/logs/error.%d{yyyy-MM-dd}.log
38 30
39
40
41 %date [%thread] %-5level %logger{80} - %msg%n
42
43
44
45
46
47 class="ch.qos.logback.core.rolling.RollingFileAppender">
48
49
50 message.contains("str")
51
52 ACCEPT
53 DENY
54
55
56 D:/logs/contains.%d{yyyy-MM-dd}.log
57
58 30
59
60
61 %date [%thread] %-5level %logger{80} - %msg%n
62
63
64
65
66
67
68 class="ch.qos.logback.core.db.DriverManagerConnectionSource">
69 com.mysql.jdbc.Driver
70 jdbc:mysql://host_name:3306/datebase_name
71 username
72 password
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112