-
Notifications
You must be signed in to change notification settings - Fork 0
/
search.xml
304 lines (142 loc) · 88.4 KB
/
search.xml
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
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>logback 配置</title>
<link href="/2019/11/14/logback-%E9%85%8D%E7%BD%AE/"/>
<url>/2019/11/14/logback-%E9%85%8D%E7%BD%AE/</url>
<content type="html"><![CDATA[<p>几种关于logback最佳配置</p><a id="more"></a><h3 id="配置样例"><a href="#配置样例" class="headerlink" title="配置样例"></a>配置样例</h3><h4 id="第一种"><a href="#第一种" class="headerlink" title="第一种"></a>第一种</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br></pre></td><td class="code"><pre><span class="line"><?xml version="1.0" encoding="UTF-8"?></span><br><span class="line"><configuration></span><br><span class="line"></span><br><span class="line"> <property name="server_name" value="operation" /></span><br><span class="line"> <property name="log_dir" value="/data/logs/operation-service" /></span><br><span class="line"> <property name="maxFileSize" value="50MB" /></span><br><span class="line"> <property name="maxHistory" value="180" /></span><br><span class="line"></span><br><span class="line"> <!-- 控制台输出 --></span><br><span class="line"> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"></span><br><span class="line"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"></span><br><span class="line"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--></span><br><span class="line"> <pattern>%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n</pattern></span><br><span class="line"> </encoder></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- info日志 appender --></span><br><span class="line"> <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"></span><br><span class="line"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"></span><br><span class="line"> <!-- 按天回滚 daily --></span><br><span class="line"> <fileNamePattern>${log_dir}/${server_name}-info-%d{yyyy-MM-dd}-%i.log</fileNamePattern></span><br><span class="line"> <!-- 日志最大的历史 180天 --></span><br><span class="line"> <maxHistory>${maxHistory}</maxHistory></span><br><span class="line"> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"></span><br><span class="line"> <!-- maxFileSize:这是活动文件的大小,默认值是10MB,这里设置为50MB --></span><br><span class="line"> <maxFileSize>${maxFileSize}</maxFileSize></span><br><span class="line"> </timeBasedFileNamingAndTriggeringPolicy></span><br><span class="line"> </rollingPolicy></span><br><span class="line"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"></span><br><span class="line"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--></span><br><span class="line"> <pattern>%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n</pattern></span><br><span class="line"> </encoder></span><br><span class="line"> <filter class="ch.qos.logback.classic.filter.LevelFilter"></span><br><span class="line"> <!-- 只打印info日志 --></span><br><span class="line"> <level>INFO</level></span><br><span class="line"> <onMatch>ACCEPT</onMatch></span><br><span class="line"> <onMismatch>DENY</onMismatch></span><br><span class="line"> </filter></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- 出错日志 appender --></span><br><span class="line"> <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"></span><br><span class="line"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"></span><br><span class="line"> <!-- 按天回滚 daily --></span><br><span class="line"> <fileNamePattern>${log_dir}/${server_name}-error-%d{yyyy-MM-dd}-%i.log</fileNamePattern></span><br><span class="line"> <!-- 日志最大的历史 180天 --></span><br><span class="line"> <maxHistory>${maxHistory}</maxHistory></span><br><span class="line"> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"></span><br><span class="line"> <!-- maxFileSize:这是活动文件的大小,默认值是10MB,这里设置为50MB --></span><br><span class="line"> <maxFileSize>${maxFileSize}</maxFileSize></span><br><span class="line"> </timeBasedFileNamingAndTriggeringPolicy></span><br><span class="line"> </rollingPolicy></span><br><span class="line"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"></span><br><span class="line"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--></span><br><span class="line"> <pattern>%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n</pattern></span><br><span class="line"> </encoder></span><br><span class="line"> <filter class="ch.qos.logback.classic.filter.LevelFilter"></span><br><span class="line"> <!-- 只打印错误日志 --></span><br><span class="line"> <level>ERROR</level></span><br><span class="line"> <onMatch>ACCEPT</onMatch></span><br><span class="line"> <onMismatch>DENY</onMismatch></span><br><span class="line"> </filter></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!--mybatis sql日志 日志的级别需要是DEBUG--></span><br><span class="line"> <!--日志打印的包的范围,及分类日志文件存储 --></span><br><span class="line"> <logger name="com.chelizi.cloud.*.dao" level="DEBUG" additivity="false"></logger></span><br><span class="line"></span><br><span class="line"> <!--控制台和日志文件输出级别--></span><br><span class="line"> <root level="INFO" additivity = "false"></span><br><span class="line"> <appender-ref ref="STDOUT" /></span><br><span class="line"> <appender-ref ref="INFO" /></span><br><span class="line"> <appender-ref ref="ERROR" /></span><br><span class="line"> </root></span><br><span class="line"></span><br><span class="line"></configuration></span><br></pre></td></tr></table></figure><h4 id="第二种"><a href="#第二种" class="headerlink" title="第二种"></a>第二种</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br></pre></td><td class="code"><pre><span class="line"><?xml version="1.0" encoding="UTF-8"?></span><br><span class="line"><!--</span><br><span class="line">-scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true</span><br><span class="line">-scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。</span><br><span class="line">- 当scan为true时,此属性生效。默认的时间间隔为1分钟</span><br><span class="line">-debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。</span><br><span class="line">-</span><br><span class="line">- configuration 子节点为 appender、logger、root</span><br><span class="line">--></span><br><span class="line"><configuration scan="true" scanPeriod="60 second" debug="false"></span><br><span class="line"> </span><br><span class="line"> <!-- 负责写日志,控制台日志 --></span><br><span class="line"> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"></span><br><span class="line"> </span><br><span class="line"> <!-- 一是把日志信息转换成字节数组,二是把字节数组写入到输出流 --></span><br><span class="line"> <encoder></span><br><span class="line"> <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%5level] [%thread] %logger{0} %msg%n</Pattern></span><br><span class="line"> <charset>UTF-8</charset></span><br><span class="line"> </encoder></span><br><span class="line"> </appender></span><br><span class="line"> </span><br><span class="line"> <!-- 文件日志 --></span><br><span class="line"> <appender name="DEBUG" class="ch.qos.logback.core.FileAppender"></span><br><span class="line"> <file>debug.log</file></span><br><span class="line"> <!-- append: true,日志被追加到文件结尾; false,清空现存文件;默认是true --></span><br><span class="line"> <append>true</append></span><br><span class="line"> <filter class="ch.qos.logback.classic.filter.LevelFilter"></span><br><span class="line"> <!-- LevelFilter: 级别过滤器,根据日志级别进行过滤 --></span><br><span class="line"> <level>DEBUG</level></span><br><span class="line"> <onMatch>ACCEPT</onMatch></span><br><span class="line"> <onMismatch>DENY</onMismatch></span><br><span class="line"> </filter></span><br><span class="line"> <encoder></span><br><span class="line"> <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%5level] [%thread] %logger{0} %msg%n</Pattern></span><br><span class="line"> <charset>UTF-8</charset></span><br><span class="line"> </encoder></span><br><span class="line"> </appender></span><br><span class="line"> </span><br><span class="line"> <!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 --></span><br><span class="line"> <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"></span><br><span class="line"> <File>info.log</File></span><br><span class="line"> </span><br><span class="line"> <!-- ThresholdFilter:临界值过滤器,过滤掉 TRACE 和 DEBUG 级别的日志 --></span><br><span class="line"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"></span><br><span class="line"> <level>INFO</level></span><br><span class="line"> </filter></span><br><span class="line"> </span><br><span class="line"> <encoder></span><br><span class="line"> <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%5level] [%thread] %logger{0} %msg%n</Pattern></span><br><span class="line"> <charset>UTF-8</charset></span><br><span class="line"> </encoder></span><br><span class="line"> </span><br><span class="line"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"></span><br><span class="line"> <!-- 每天生成一个日志文件,保存30天的日志文件</span><br><span class="line"> - 如果隔一段时间没有输出日志,前面过期的日志不会被删除,只有再重新打印日志的时候,会触发删除过期日志的操作。</span><br><span class="line"> --></span><br><span class="line"> <fileNamePattern>info.%d{yyyy-MM-dd}.log</fileNamePattern></span><br><span class="line"> <maxHistory>30</maxHistory></span><br><span class="line"> <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"></span><br><span class="line"> <maxFileSize>100MB</maxFileSize></span><br><span class="line"> </TimeBasedFileNamingAndTriggeringPolicy></span><br><span class="line"> </rollingPolicy></span><br><span class="line"> </appender ></span><br><span class="line"> </span><br><span class="line"> <!--<!– 异常日志输出 –>--></span><br><span class="line"> <!--<appender name="EXCEPTION" class="ch.qos.logback.core.rolling.RollingFileAppender">--></span><br><span class="line"> <!--<file>exception.log</file>--></span><br><span class="line"> <!--<!– 求值过滤器,评估、鉴别日志是否符合指定条件. 需要额外的两个JAR包,commons-compiler.jar和janino.jar –>--></span><br><span class="line"> <!--<filter class="ch.qos.logback.core.filter.EvaluatorFilter">--></span><br><span class="line"> <!--<!– 默认为 ch.qos.logback.classic.boolex.JaninoEventEvaluator –>--></span><br><span class="line"> <!--<evaluator>--></span><br><span class="line"> <!--<!– 过滤掉所有日志消息中不包含"Exception"字符串的日志 –>--></span><br><span class="line"> <!--<expression>return message.contains("Exception");</expression>--></span><br><span class="line"> <!--</evaluator>--></span><br><span class="line"> <!--<OnMatch>ACCEPT</OnMatch>--></span><br><span class="line"> <!--<OnMismatch>DENY</OnMismatch>--></span><br><span class="line"> <!--</filter>--></span><br><span class="line"> </span><br><span class="line"> <!--<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">--></span><br><span class="line"> <!--<!– 触发节点,按固定文件大小生成,超过5M,生成新的日志文件 –>--></span><br><span class="line"> <!--<maxFileSize>5MB</maxFileSize>--></span><br><span class="line"> <!--</triggeringPolicy>--></span><br><span class="line"> <!--</appender>--></span><br><span class="line"> </span><br><span class="line"> <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"></span><br><span class="line"> <file>error.log</file></span><br><span class="line"> </span><br><span class="line"> <encoder></span><br><span class="line"> <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%5level] [%thread] %logger{0} %msg%n</Pattern></span><br><span class="line"> <charset>UTF-8</charset></span><br><span class="line"> </encoder></span><br><span class="line"> </span><br><span class="line"> <!-- 按照固定窗口模式生成日志文件,当文件大于20MB时,生成新的日志文件。</span><br><span class="line"> - 窗口大小是1到3,当保存了3个归档文件后,将覆盖最早的日志。</span><br><span class="line"> - 可以指定文件压缩选项</span><br><span class="line"> --></span><br><span class="line"> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"></span><br><span class="line"> <fileNamePattern>error.%d{yyyy-MM}(%i).log.zip</fileNamePattern></span><br><span class="line"> <minIndex>1</minIndex></span><br><span class="line"> <maxIndex>3</maxIndex></span><br><span class="line"> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"></span><br><span class="line"> <maxFileSize>100MB</maxFileSize></span><br><span class="line"> </timeBasedFileNamingAndTriggeringPolicy></span><br><span class="line"> <maxHistory>30</maxHistory></span><br><span class="line"> </rollingPolicy></span><br><span class="line"> </appender></span><br><span class="line"> </span><br><span class="line"> <!-- 异步输出 --></span><br><span class="line"> <appender name ="ASYNC" class= "ch.qos.logback.classic.AsyncAppender"></span><br><span class="line"> <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --></span><br><span class="line"> <discardingThreshold >0</discardingThreshold></span><br><span class="line"> <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --></span><br><span class="line"> <queueSize>512</queueSize></span><br><span class="line"> <!-- 添加附加的appender,最多只能添加一个 --></span><br><span class="line"> <appender-ref ref ="ERROR"/></span><br><span class="line"> </appender></span><br><span class="line"> </span><br><span class="line"> <!--</span><br><span class="line"> - 1.name:包名或类名,用来指定受此logger约束的某一个包或者具体的某一个类</span><br><span class="line"> - 2.未设置打印级别,所以继承他的上级<root>的日志级别“DEBUG”</span><br><span class="line"> - 3.未设置additivity,默认为true,将此logger的打印信息向上级传递;</span><br><span class="line"> - 4.未设置appender,此logger本身不打印任何信息,级别为“DEBUG”及大于“DEBUG”的日志信息传递给root,</span><br><span class="line"> - root接到下级传递的信息,交给已经配置好的名为“STDOUT”的appender处理,“STDOUT”appender将信息打印到控制台;</span><br><span class="line"> --></span><br><span class="line"> <logger name="ch.qos.logback" /></span><br><span class="line"> </span><br><span class="line"> <!--</span><br><span class="line"> - 1.将级别为“INFO”及大于“INFO”的日志信息交给此logger指定的名为“STDOUT”的appender处理,在控制台中打出日志,</span><br><span class="line"> - 不再向次logger的上级 <logger name="logback"/> 传递打印信息</span><br><span class="line"> - 2.level:设置打印级别(TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF),还有一个特殊值INHERITED或者同义词NULL,代表强制执行上级的级别。</span><br><span class="line"> - 如果未设置此属性,那么当前logger将会继承上级的级别。</span><br><span class="line"> - 3.additivity:为false,表示此logger的打印信息不再向上级传递,如果设置为true,会打印两次</span><br><span class="line"> - 4.appender-ref:指定了名字为"STDOUT"的appender。</span><br><span class="line"> --></span><br><span class="line"> <logger name="com.weizhi.common.LogMain" level="INFO" additivity="false"></span><br><span class="line"> <appender-ref ref="STDOUT"/></span><br><span class="line"> <!--<appender-ref ref="DEBUG"/>--></span><br><span class="line"> <!--<appender-ref ref="EXCEPTION"/>--></span><br><span class="line"> <!--<appender-ref ref="INFO"/>--></span><br><span class="line"> <!--<appender-ref ref="ERROR"/>--></span><br><span class="line"> <appender-ref ref="ASYNC"/></span><br><span class="line"> </logger></span><br><span class="line"> </span><br><span class="line"> <!--</span><br><span class="line"> - 根logger</span><br><span class="line"> - level:设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能设置为INHERITED或者同义词NULL。</span><br><span class="line"> - 默认是DEBUG。</span><br><span class="line"> -appender-ref:可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个logger</span><br><span class="line"> --></span><br><span class="line"> <root level="DEBUG"></span><br><span class="line"> <appender-ref ref="STDOUT"/></span><br><span class="line"> <!--<appender-ref ref="DEBUG"/>--></span><br><span class="line"> <!--<appender-ref ref="EXCEPTION"/>--></span><br><span class="line"> <!--<appender-ref ref="INFO"/>--></span><br><span class="line"> <appender-ref ref="ASYNC"/></span><br><span class="line"> </root></span><br><span class="line"></configuration></span><br></pre></td></tr></table></figure><h4 id="第三种"><a href="#第三种" class="headerlink" title="第三种"></a>第三种</h4><p>dev 开发环境配置</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br></pre></td><td class="code"><pre><span class="line"><?xml version="1.0" encoding="UTF-8"?></span><br><span class="line"><!-- 不分级别同步文件日志输出配置 --></span><br><span class="line"><!-- 级别从高到低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL --></span><br><span class="line"><!-- 日志输出规则 根据当前ROOT 级别,日志输出时,级别高于root默认的级别时 会输出 --></span><br><span class="line"><!-- 以下 每个配置的 filter 是过滤掉输出文件里面,会出现高级别文件,依然出现低级别的日志信息,通过filter 过滤只记录本级别的日志 --></span><br><span class="line"><!-- scan 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 --></span><br><span class="line"><!-- scanPeriod 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 --></span><br><span class="line"><!-- debug 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --></span><br><span class="line"><configuration scan="true" scanPeriod="60 seconds" debug="false" ></span><br><span class="line"></span><br><span class="line"> <!-- logback项目名称 --></span><br><span class="line"> <property name="appName" value="noSeatBeltDev"/></span><br><span class="line"></span><br><span class="line"> <!-- 日志级别 --></span><br><span class="line"> <property name="logLevel" value="DEBUG"/></span><br><span class="line"></span><br><span class="line"> <!-- 日志地址 --></span><br><span class="line"> <property name="logPath" value="./logs"/></span><br><span class="line"></span><br><span class="line"> <!-- 最大保存时间 10天 --></span><br><span class="line"> <property name="maxHistory" value="10"/></span><br><span class="line"></span><br><span class="line"> <!-- 异步缓冲队列的深度,该值会影响性能.默认值为256 --></span><br><span class="line"> <property name="queueSize" value="512" /></span><br><span class="line"></span><br><span class="line"> <!-- lOGGER PATTERN 配置化输出语句 根据自己的喜好选择 --></span><br><span class="line"> <property name="logPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger - %msg%n"/></span><br><span class="line"> <!-- %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger - %msg%n --></span><br><span class="line"> <!-- %d{yyyy-MM-dd HH:mm:ss} %-4relative [%thread] %-5level %logger{35} - %msg %n --></span><br><span class="line"> <!-- [ %-5level] [%date{yyyy-MM-dd HH:mm:ss.SSS}] %logger{96} [%line] [%thread]- %msg%n --></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"> <!-- 控制台打印日志的相关配置 --></span><br><span class="line"> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"></span><br><span class="line"> <!-- 日志格式 --></span><br><span class="line"> <encoder></span><br><span class="line"> <charset>UTF-8</charset></span><br><span class="line"> <pattern>${logPattern}</pattern></span><br><span class="line"> </encoder></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- 文件保存日志的相关配置 --></span><br><span class="line"> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"></span><br><span class="line"> <!-- 保存日志文件的路径 --></span><br><span class="line"> <file>${logPath}/${appName}.log</file></span><br><span class="line"></span><br><span class="line"> <!-- 日志格式 --></span><br><span class="line"> <encoder></span><br><span class="line"> <pattern>${logPattern}</pattern></span><br><span class="line"> </encoder></span><br><span class="line"> <filter class="ch.qos.logback.classic.filter.LevelFilter"></span><br><span class="line"> <level>${logLevel}</level></span><br><span class="line"> <onMatch>ACCEPT</onMatch></span><br><span class="line"> <onMismatch>DENY</onMismatch></span><br><span class="line"> </filter></span><br><span class="line"></span><br><span class="line"> <!-- 循环政策:基于时间创建日志文件 --></span><br><span class="line"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"></span><br><span class="line"> <!-- 日志文件名格式 --></span><br><span class="line"> <fileNamePattern>${logPath}/${appName}-%d{yyyy-MM-dd}.log</fileNamePattern></span><br><span class="line"> <!-- 最大保存时间--></span><br><span class="line"> <maxHistory>${maxHistory}</maxHistory></span><br><span class="line"> </rollingPolicy></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!--配置mybatis sql 日志--></span><br><span class="line"> <logger name="com.pf.org.cms.mapper" level="DEBUG"/></span><br><span class="line"> <!-- 基于INFO处理日志:具体控制台或者文件对日志级别的处理还要看所在appender配置的filter,如果没有配置filter,则使用root配置 --></span><br><span class="line"></span><br><span class="line"> <root level="${logLevel}"></span><br><span class="line"> <appender-ref ref="STDOUT" /></span><br><span class="line"> <!-- 开发可以只要控制台就OK --></span><br><span class="line"> <!-- <appender-ref ref="FILE" /> --></span><br><span class="line"> </root></span><br><span class="line"></configuration></span><br></pre></td></tr></table></figure><p>正式环境配置</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br></pre></td><td class="code"><pre><span class="line"><?xml version="1.0" encoding="UTF-8"?></span><br><span class="line"><!-- 分级别异步文件日志输出配置 --></span><br><span class="line"><!-- 级别从高到低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL --></span><br><span class="line"><!-- 日志输出规则 根据当前ROOT 级别,日志输出时,级别高于root默认的级别时 会输出 --></span><br><span class="line"><!-- 以下 每个配置的 filter 是过滤掉输出文件里面,会出现高级别文件,依然出现低级别的日志信息,通过filter 过滤只记录本级别的日志 --></span><br><span class="line"><!-- scan 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 --></span><br><span class="line"><!-- scanPeriod 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 --></span><br><span class="line"><!-- debug 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --></span><br><span class="line"><configuration scan="true" scanPeriod="60 seconds" debug="false"></span><br><span class="line"></span><br><span class="line"> <!-- logback项目名称 --></span><br><span class="line"> <property name="appName" value="noSeatBeltProd"></property></span><br><span class="line"></span><br><span class="line"> <!-- 日志级别 DEBUGER INFO WARN ERROR --></span><br><span class="line"> <property name="logLevel" value="INFO"></property></span><br><span class="line"></span><br><span class="line"> <!-- 日志路径--></span><br><span class="line"> <property name="logPath" value="./logs"></property></span><br><span class="line"></span><br><span class="line"> <!-- 最大保存时间 30天--></span><br><span class="line"> <property name="maxHistory" value="3"/></span><br><span class="line"></span><br><span class="line"> <!-- 异步缓冲队列的深度,该值会影响性能.默认值为256 --></span><br><span class="line"> <property name="queueSize" value="256"></property></span><br><span class="line"></span><br><span class="line"> <!-- lOGGER PATTERN 根据个人喜好选择匹配 --></span><br><span class="line"> <property name="logPattern" value="[ %-5level] [%date{yyyy-MM-dd HH:mm:ss.SSS}] %logger{96} [%line] [%thread]- %msg%n"></property></span><br><span class="line"> <!-- %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger - %msg%n --></span><br><span class="line"> <!-- %d{yyyy-MM-dd HH:mm:ss} %-4relative [%thread] %-5level %logger{35} - %msg %n --></span><br><span class="line"> <!-- [ %-5level] [%date{yyyy-MM-dd HH:mm:ss.SSS}] %logger{96} [%line] [%thread]- %msg%n --></span><br><span class="line"></span><br><span class="line"> <!-- 动态日志级别 --></span><br><span class="line"> <jmxConfigurator/></span><br><span class="line"></span><br><span class="line"> <!-- 控制台的标准输出 --></span><br><span class="line"> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"></span><br><span class="line"> <encoder></span><br><span class="line"> <charset>UTF-8</charset></span><br><span class="line"> <pattern>${logPattern}</pattern></span><br><span class="line"> </encoder></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- DUBUG 日志记录 --></span><br><span class="line"> <appender name="FILE_DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender"></span><br><span class="line"> <filter class="ch.qos.logback.classic.filter.LevelFilter"></span><br><span class="line"> <level>DEBUG</level></span><br><span class="line"> <onMatch>ACCEPT</onMatch></span><br><span class="line"> <onMismatch>DENY</onMismatch></span><br><span class="line"> </filter></span><br><span class="line"> <file>${logPath}/${appName}_debug.log</file></span><br><span class="line"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"></span><br><span class="line"> <fileNamePattern>${logPath}/debug/${appName}_debug.log.%d{yyyy-MM-dd}.zip</span><br><span class="line"> </fileNamePattern></span><br><span class="line"> <maxHistory>${maxHistory}</maxHistory></span><br><span class="line"> </rollingPolicy></span><br><span class="line"> <encoder></span><br><span class="line"> <pattern>${logPattern}</pattern></span><br><span class="line"> </encoder></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- INFO 级别的日志记录 --></span><br><span class="line"> <appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"></span><br><span class="line"> <filter class="ch.qos.logback.classic.filter.LevelFilter"></span><br><span class="line"> <level>INFO</level></span><br><span class="line"> <onMatch>ACCEPT</onMatch></span><br><span class="line"> <onMismatch>DENY</onMismatch></span><br><span class="line"> </filter></span><br><span class="line"> <file>${logPath}/${appName}_info.log</file></span><br><span class="line"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"></span><br><span class="line"> <fileNamePattern>${logPath}/info/${appName}_info.log.%d{yyyy-MM-dd}.zip</span><br><span class="line"> </fileNamePattern></span><br><span class="line"> <maxHistory>${maxHistory}</maxHistory></span><br><span class="line"> </rollingPolicy></span><br><span class="line"> <encoder></span><br><span class="line"> <pattern>${logPattern}</pattern></span><br><span class="line"> </encoder></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- WARN 级别的日志记录 --></span><br><span class="line"> <appender name="FILE_WARN" class="ch.qos.logback.core.rolling.RollingFileAppender"></span><br><span class="line"> <filter class="ch.qos.logback.classic.filter.LevelFilter"></span><br><span class="line"> <level>WARN</level></span><br><span class="line"> <onMatch>ACCEPT</onMatch></span><br><span class="line"> <onMismatch>DENY</onMismatch></span><br><span class="line"> </filter></span><br><span class="line"> <file>${logPath}/${appName}_warn.log</file></span><br><span class="line"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"></span><br><span class="line"> <fileNamePattern>${logPath}/warn/${appName}_warn.log.%d{yyyy-MM-dd}.zip</span><br><span class="line"> </fileNamePattern></span><br><span class="line"> <maxHistory>${maxHistory}</maxHistory></span><br><span class="line"> </rollingPolicy></span><br><span class="line"> <encoder></span><br><span class="line"> <pattern>${logPattern}</pattern></span><br><span class="line"> </encoder></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- Error 级别的日志记录 --></span><br><span class="line"> <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"></span><br><span class="line"> <filter class="ch.qos.logback.classic.filter.LevelFilter"></span><br><span class="line"> <level>ERROR</level></span><br><span class="line"> <onMatch>ACCEPT</onMatch></span><br><span class="line"> <onMismatch>DENY</onMismatch></span><br><span class="line"> </filter></span><br><span class="line"> <file>${logPath}/${appName}_error.log</file></span><br><span class="line"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"></span><br><span class="line"> <fileNamePattern>${logPath}/error/${appName}_error.log.%d{yyyy-MM-dd}.zip</span><br><span class="line"> </fileNamePattern></span><br><span class="line"> <maxHistory>${maxHistory}</maxHistory></span><br><span class="line"> </rollingPolicy></span><br><span class="line"> <encoder></span><br><span class="line"> <pattern>${logPattern}</pattern></span><br><span class="line"> </encoder></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- ASYNC_LOG_DEBUG --></span><br><span class="line"> <appender name="ASYNC_LOG_DEBUG" class="ch.qos.logback.classic.AsyncAppender"></span><br><span class="line"> <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --></span><br><span class="line"> <discardingThreshold>0</discardingThreshold></span><br><span class="line"> <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --></span><br><span class="line"> <queueSize>${queueSize}</queueSize></span><br><span class="line"> <appender-ref ref="FILE_DEBUG"/></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- ASYNC_LOG_INFO --></span><br><span class="line"> <appender name="ASYNC_LOG_INFO" class="ch.qos.logback.classic.AsyncAppender"></span><br><span class="line"> <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --></span><br><span class="line"> <discardingThreshold>0</discardingThreshold></span><br><span class="line"> <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --></span><br><span class="line"> <queueSize>${queueSize}</queueSize></span><br><span class="line"> <appender-ref ref="FILE_INFO"/></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- ASYNC_LOG_WARN --></span><br><span class="line"> <appender name="ASYNC_LOG_WARN" class="ch.qos.logback.classic.AsyncAppender"></span><br><span class="line"> <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --></span><br><span class="line"> <discardingThreshold>0</discardingThreshold></span><br><span class="line"> <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --></span><br><span class="line"> <queueSize>${queueSize}</queueSize></span><br><span class="line"> <appender-ref ref="FILE_WARN"/></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!--ASYNC_LOG_ERROR --></span><br><span class="line"> <appender name="ASYNC_LOG_ERROR" class="ch.qos.logback.classic.AsyncAppender"></span><br><span class="line"> <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --></span><br><span class="line"> <discardingThreshold>0</discardingThreshold></span><br><span class="line"> <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --></span><br><span class="line"> <queueSize>${queueSize}</queueSize></span><br><span class="line"> <appender-ref ref="FILE_ERROR"/></span><br><span class="line"> </appender></span><br><span class="line"></span><br><span class="line"> <!-- 日志的记录级别 --></span><br><span class="line"> <!-- 在定义后引用APPENDER --></span><br><span class="line"> <root level="${logLevel}"></span><br><span class="line"> <!-- 控制台 --></span><br><span class="line"> <appender-ref ref="STDOUT"/></span><br><span class="line"></span><br><span class="line"> <!-- 具体的日志级别和文件的配置 --></span><br><span class="line"> <appender-ref ref="ASYNC_LOG_DEBUG"/></span><br><span class="line"> <appender-ref ref="ASYNC_LOG_INFO"/></span><br><span class="line"> <appender-ref ref="ASYNC_LOG_WARN"/></span><br><span class="line"> <appender-ref ref="ASYNC_LOG_ERROR"/></span><br><span class="line"> </root></span><br><span class="line"></configuration></span><br></pre></td></tr></table></figure>]]></content>
<tags>
<tag> java </tag>
</tags>
</entry>
<entry>
<title>test</title>
<link href="/2019/11/11/test/"/>
<url>/2019/11/11/test/</url>
<content type="html"><![CDATA[<p>这是摘要</p><a id="more"></a><p>this is a test</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br></pre></td><td class="code"><pre><span class="line">public interface InsuranceSendMqHelperSettlementService {</span><br><span class="line"> /**</span><br><span class="line"> * 创建时增加相关字段</span><br><span class="line"> *</span><br><span class="line"> * @param insurancePolicyDTO</span><br><span class="line"> * @param insurancePolicyDO</span><br><span class="line"> * @param insurancePolicyRecordDO</span><br><span class="line"> * @return</span><br><span class="line"> */</span><br><span class="line"> InsurancePolicyDTO setInsurancePolicyDTOWhenCreate(InsurancePolicyDTO insurancePolicyDTO, InsurancePolicyDO insurancePolicyDO, InsurancePolicyRecordDO insurancePolicyRecordDO);</span><br><span class="line"></span><br><span class="line"> /**</span><br><span class="line"> * 加保时增加相关字段</span><br><span class="line"> *</span><br><span class="line"> * @param insurancePolicyDTO</span><br><span class="line"> * @param insurancePolicyAddRecordDO</span><br><span class="line"> * @return</span><br><span class="line"> */</span><br><span class="line"> InsurancePolicyDTO setInsurancePolicyDTOWhenAdd(InsurancePolicyDTO insurancePolicyDTO, InsurancePolicyAddRecordDO insurancePolicyAddRecordDO);</span><br><span class="line"></span><br><span class="line"> /**</span><br><span class="line"> * 批单时增加相关字段</span><br><span class="line"> *</span><br><span class="line"> * @param insurancePolicyDTO</span><br><span class="line"> * @param insurancePolicyCorrectRecordDO</span><br><span class="line"> * @return</span><br><span class="line"> */</span><br><span class="line"> InsurancePolicyDTO setInsurancePolicyDTOWhenCorrect(InsurancePolicyDTO insurancePolicyDTO, InsurancePolicyCorrectRecordDO insurancePolicyCorrectRecordDO);</span><br><span class="line"></span><br><span class="line"> /**</span><br><span class="line"> * 退保时增加相关字段</span><br><span class="line"> *</span><br><span class="line"> * @param insurancePolicyDTO</span><br><span class="line"> * @param insurancePolicyReturnRecordDO</span><br><span class="line"> * @return</span><br><span class="line"> */</span><br><span class="line"> InsurancePolicyDTO setInsurancePolicyDTOWhenReturn(InsurancePolicyDTO insurancePolicyDTO, InsurancePolicyReturnRecordDO insurancePolicyReturnRecordDO);</span><br><span class="line"></span><br><span class="line"> /**</span><br><span class="line"> * 过户时增加相关字段</span><br><span class="line"> *</span><br><span class="line"> * @param insurancePolicyDTO</span><br><span class="line"> * @param insurancePolicyTransferRecordDO</span><br><span class="line"> * @return</span><br><span class="line"> */</span><br><span class="line"> InsurancePolicyDTO setInsurancePolicyDTOWhenTransfer(InsurancePolicyDTO insurancePolicyDTO, InsurancePolicyTransferRecordDO insurancePolicyTransferRecordDO);</span><br><span class="line"></span><br><span class="line"> /**</span><br><span class="line"> * 更新时增加相关字段</span><br><span class="line"> *</span><br><span class="line"> * @param insurancePolicyDTO</span><br><span class="line"> * @param insurancePolicyDO</span><br><span class="line"> * @param recordId</span><br><span class="line"> * @return</span><br><span class="line"> */</span><br><span class="line"> InsurancePolicyDTO setInsurancePolicyDTOWhenUpdate(InsurancePolicyDTO insurancePolicyDTO, InsurancePolicyDO insurancePolicyDO, Integer recordId, Integer updateType);</span><br><span class="line">}</span><br></pre></td></tr></table></figure>]]></content>
</entry>
<entry>
<title>都走了</title>
<link href="/2019/11/11/go_away/"/>
<url>/2019/11/11/go_away/</url>
<content type="html"><![CDATA[<h4 id="Ta们都走了"><a href="#Ta们都走了" class="headerlink" title="Ta们都走了"></a>Ta们都走了</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">我也想要时刻都被人给保护着</span><br><span class="line">也像我给你做早餐一样地被你照顾着</span><br><span class="line">但或许你没有办法成为那个照顾者</span><br><span class="line">所以我想跟你分开 再也不要复合</span><br></pre></td></tr></table></figure>]]></content>
</entry>
<entry>
<title>vim-cn.sh</title>
<link href="/2018/09/22/https://xaoxuu.com/wiki/vim-cn.sh//"/>
<url>/2018/09/22/https://xaoxuu.com/wiki/vim-cn.sh//</url>
<content type="html"><![CDATA[<p><a href="https://img.vim-cn.com" target="_blank" rel="noopener">img.vim-cn.com</a>是一个十分干净好用的图床,本站以及博客中的所有图片都是使用的这个图床。</p><p>所以,这是一个快速批量<strong>上传图片</strong>的脚本。</p><p><fancybox><img src="https://img.vim-cn.com/0d/e463788b9eb82f82b551d8da1cd4cbae9d64cb.png" alt=""><fancybox></p><a id="more"></a>]]></content>
<categories>
<category> Dev </category>
<category> Shell Scripts </category>
</categories>
<tags>
<tag> shell </tag>
</tags>
</entry>
<entry>
<title>hexo.sh</title>
<link href="/2018/08/09/https://xaoxuu.com/wiki/hexo.sh//"/>
<url>/2018/08/09/https://xaoxuu.com/wiki/hexo.sh//</url>
<content type="html"><![CDATA[<p><strong>一个方便管理与发布hexo博客的脚本。</strong></p><p><fancybox><img src="https://img.vim-cn.com/e8/e14f6ecb16deb21e894e78c9ccc46729854394.png" alt=""><fancybox></p><a id="more"></a>]]></content>
<categories>
<category> Dev </category>
<category> Hexo </category>
</categories>
<tags>
<tag> Hexo </tag>
<tag> shell </tag>
</tags>
</entry>
<entry>
<title>Material X</title>
<link href="/2017/10/24/https://xaoxuu.com/wiki/material-x//"/>
<url>/2017/10/24/https://xaoxuu.com/wiki/material-x//</url>
<content type="html"><![CDATA[<p><strong>一个简约的卡片式Hexo博客主题。</strong></p><fancybox>![](https://img.vim-cn.com/52/a54815c02ce232f11f54b2c547c1337828833c.png)</fancybox><a id="more"></a>]]></content>
<categories>
<category> Dev </category>
<category> Hexo </category>
</categories>
<tags>
<tag> Hexo </tag>
</tags>
</entry>
<entry>
<title>Images</title>
<link href="/2013/12/26/test/images/"/>
<url>/2013/12/26/test/images/</url>
<content type="html"><![CDATA[<p>This is a image test post.</p><p><img src="/assets/wallpaper-2572384.jpg" alt=""></p><p><img src="/assets/wallpaper-2311325.jpg" alt="Caption"></p><p><img src="/assets/wallpaper-878514.jpg" alt=""></p><p><img src="http://placehold.it/350x150.jpg" alt="Small Picture"></p>]]></content>
</entry>
<entry>
<title>test/no-title</title>
<link href="/2013/12/25/test/no-title/"/>
<url>/2013/12/25/test/no-title/</url>
<content type="html"><![CDATA[<p>This post doesn’t have a title. Make sure it’s accessible.</p>]]></content>
</entry>
<entry>
<title>Excerpts</title>
<link href="/2013/12/25/test/excerpts/"/>
<url>/2013/12/25/test/excerpts/</url>
<content type="html"><![CDATA[<p>The following contents should be invisible in home/archive page.</p><a id="more"></a><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eget urna vitae velit eleifend interdum at ac nisi. In nec ligula lacus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed eu cursus erat, ut dapibus quam. Aliquam eleifend dolor vitae libero pharetra adipiscing. Etiam adipiscing dolor a quam tempor, eu convallis nulla varius. Aliquam sollicitudin risus a porta aliquam. Ut nec velit dolor. Proin eget leo lobortis, aliquam est sed, mollis mauris. Fusce vitae leo pretium massa accumsan condimentum. Fusce malesuada gravida lectus vel vulputate. Donec bibendum porta nibh ut aliquam.</p><p>Sed lorem felis, congue non fringilla eu, aliquam eu eros. Curabitur orci libero, mollis sed semper vitae, adipiscing in lectus. Aenean non egestas odio. Donec sollicitudin nisi quis lorem gravida, in pharetra mauris fringilla. Duis sit amet faucibus dolor, id aliquam neque. In egestas, odio gravida tempor dictum, mauris felis faucibus purus, sit amet commodo lacus diam vitae est. Ut ut quam eget massa semper sodales. Aenean non ipsum cursus, blandit lectus in, ornare odio. Curabitur ultrices porttitor vulputate.</p>]]></content>
</entry>
<entry>
<title>Videos</title>
<link href="/2013/12/25/test/videos/"/>
<url>/2013/12/25/test/videos/</url>
<content type="html"><![CDATA[<p>This is a video test post.</p><p><strong>Youtube</strong></p><div class="video-container"><iframe src="//www.youtube.com/embed/TIbZDRXM-Tg" frameborder="0" allowfullscreen></iframe></div><p><strong>Vimeo</strong></p><div class="video-container"><iframe src="//player.vimeo.com/video/82090131" frameborder="0" allowfullscreen></iframe></div>]]></content>
</entry>
<entry>
<title>Gallery Post</title>
<link href="/2013/12/25/test/gallery-post/"/>
<url>/2013/12/25/test/gallery-post/</url>
<content type="html"><![CDATA[<p>This post contains 4 photos:</p><ul><li>Widescreen wallpaper</li><li>Portrait photo</li><li>Dual widescreen wallpaper</li><li>Small photo</li></ul><p>All photos should be displayed properly.</p><p><em>From <a href="http://wallbase.cc" target="_blank" rel="noopener">Wallbase.cc</a></em></p>]]></content>
</entry>
<entry>
<title>Tag Plugins</title>
<link href="/2013/12/25/test/tag-plugins/"/>
<url>/2013/12/25/test/tag-plugins/</url>
<content type="html"><![CDATA[<p>This post is used for testing tag plugins. See <a href="http://zespia.tw/hexo/docs/tag-plugins.html" target="_blank" rel="noopener">docs</a> for more info.</p><a id="more"></a><h2 id="Block-Quote"><a href="#Block-Quote" class="headerlink" title="Block Quote"></a>Block Quote</h2><h3 id="Normal-blockquote"><a href="#Normal-blockquote" class="headerlink" title="Normal blockquote"></a>Normal blockquote</h3><blockquote><p>Praesent diam elit, interdum ut pulvinar placerat, imperdiet at magna.</p></blockquote><h3 id="Quote-from-a-book"><a href="#Quote-from-a-book" class="headerlink" title="Quote from a book"></a>Quote from a book</h3><blockquote><p>Do not just seek happiness for yourself. Seek happiness for all. Through kindness. Through mercy.</p><footer><strong>David Levithan</strong><cite>Wide Awake</cite></footer></blockquote><h3 id="Quote-from-Twitter"><a href="#Quote-from-Twitter" class="headerlink" title="Quote from Twitter"></a>Quote from Twitter</h3><blockquote><p>NEW: DevDocs now comes with syntax highlighting. <a href="http://devdocs.io" target="_blank" rel="noopener">http://devdocs.io</a></p><footer><strong>@DevDocs</strong><cite><a href="https://twitter.com/devdocs/status/356095192085962752" target="_blank" rel="noopener">twitter.com/devdocs/status/356095192085962752</a></cite></footer></blockquote><h3 id="Quote-from-an-article-on-the-web"><a href="#Quote-from-an-article-on-the-web" class="headerlink" title="Quote from an article on the web"></a>Quote from an article on the web</h3><blockquote><p>Every interaction is both precious and an opportunity to delight.</p><footer><strong>Seth Godin</strong><cite><a href="http://sethgodin.typepad.com/seths_blog/2009/07/welcome-to-island-marketing.html" target="_blank" rel="noopener">Welcome to Island Marketing</a></cite></footer></blockquote><h2 id="Code-Block"><a href="#Code-Block" class="headerlink" title="Code Block"></a>Code Block</h2><h3 id="Normal-code-block"><a href="#Normal-code-block" class="headerlink" title="Normal code block"></a>Normal code block</h3><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">alert('Hello World!');</span><br></pre></td></tr></table></figure><h3 id="With-caption"><a href="#With-caption" class="headerlink" title="With caption"></a>With caption</h3><figure class="highlight plain"><figcaption><span>Array.map</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">array.map(callback[, thisArg])</span><br></pre></td></tr></table></figure><h3 id="With-caption-and-URL"><a href="#With-caption-and-URL" class="headerlink" title="With caption and URL"></a>With caption and URL</h3><figure class="highlight plain"><figcaption><span>.compact</span><a href="http://underscorejs.org/#compact" target="_blank" rel="noopener">Underscore.js</a></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">.compact([0, 1, false, 2, ‘’, 3]);</span><br><span class="line">=> [1, 2, 3]</span><br></pre></td></tr></table></figure><h3 id="With-marked-lines"><a href="#With-marked-lines" class="headerlink" title="With marked lines"></a>With marked lines</h3><p>Line 1,7-8,10 should be marked with different color.</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line marked"><span class="keyword">const</span> http = <span class="built_in">require</span>(<span class="string">'http'</span>);</span><br><span class="line"></span><br><span class="line"><span class="keyword">const</span> hostname = <span class="string">'127.0.0.1'</span>;</span><br><span class="line"><span class="keyword">const</span> port = <span class="number">1337</span>;</span><br><span class="line"></span><br><span class="line">http.createServer(<span class="function">(<span class="params">req, res</span>) =></span> {</span><br><span class="line marked"> res.writeHead(<span class="number">200</span>, { <span class="string">'Content-Type'</span>: <span class="string">'text/plain'</span> });</span><br><span class="line marked"> res.end(<span class="string">'Hello World\n'</span>);</span><br><span class="line">}).listen(port, hostname, () => {</span><br><span class="line marked"> <span class="built_in">console</span>.log(<span class="string">`Server running at http://<span class="subst">${hostname}</span>:<span class="subst">${port}</span>/`</span>);</span><br><span class="line">});</span><br></pre></td></tr></table></figure><p>Note: Theme’s style should support <code>.highlight.line.marked</code> (recommend to use the selection or current line color).</p><h3 id="Gist"><a href="#Gist" class="headerlink" title="Gist"></a>Gist</h3><script src="//gist.github.com/996818.js"></script><h3 id="jsFiddle"><a href="#jsFiddle" class="headerlink" title="jsFiddle"></a>jsFiddle</h3><iframe scrolling="no" width="100%" height="300" src="//jsfiddle.net/ccWP7/embedded/js,resources,html,css,result/light" frameborder="0" allowfullscreen></iframe><h2 id="Pullquote"><a href="#Pullquote" class="headerlink" title="Pullquote"></a>Pullquote</h2><h3 id="Left"><a href="#Left" class="headerlink" title="Left"></a>Left</h3><blockquote class="pullquote left"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p></blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas tempus molestie arcu, et fringilla mauris placerat ac. Nullam luctus bibendum risus. Ut cursus sed ipsum feugiat egestas. Suspendisse elementum, velit eu consequat consequat, augue lorem dapibus libero, eget pulvinar dolor est sit amet nulla. Suspendisse a porta tortor, et posuere mi. Pellentesque ultricies, mi quis volutpat malesuada, erat felis vulputate nisl, ac congue ante tortor ut ante. Proin aliquam sem vel mauris tincidunt, eget scelerisque tortor euismod. Nulla tincidunt enim nec commodo dictum. Mauris id sapien et orci gravida luctus id ut dui. In vel vulputate odio. Duis vel turpis molestie, scelerisque enim eu, lobortis eros. Cras at ipsum gravida, sagittis ante vel, viverra tellus. Nunc mauris turpis, elementum ullamcorper nisl pretium, ultrices cursus justo. Mauris porttitor commodo eros, ac ornare orci interdum in. Cras fermentum cursus leo sed mattis. In dignissim lorem sem, sit amet elementum mauris venenatis ac.</p><h3 id="Right"><a href="#Right" class="headerlink" title="Right"></a>Right</h3><blockquote class="pullquote right"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p></blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ligula justo, lobortis sit amet semper vel, dignissim sit amet libero. Praesent ac tempus ligula. Maecenas at gravida odio. Etiam tristique volutpat lacus eu faucibus. Donec non tempus arcu. Phasellus adipiscing, mauris nec mollis egestas, ipsum nunc auctor velit, et rhoncus lorem ipsum at ante. Praesent et sem in velit volutpat auctor. Duis vel mauris nulla. Maecenas mattis interdum ante, quis sagittis nibh cursus et. Nulla facilisi. Morbi convallis gravida tortor, ut fermentum enim gravida et. Nunc vel dictum nisl, non ultrices libero. Proin vestibulum felis eget orci consectetur lobortis. Vestibulum augue nulla, iaculis vitae augue vehicula, dignissim ultrices libero. Sed imperdiet urna et quam ultrices tincidunt nec ac magna. Etiam vel pharetra elit.</p>]]></content>
</entry>
<entry>
<title>www.google.com</title>
<link href="/2013/12/24/test/link-post-without-title/"/>
<url>/2013/12/24/test/link-post-without-title/</url>
<content type="html"><![CDATA[<p>This is a link post without a title. The title should be the link with or without protocol. Clicking on the link should open <a href="http://www.google.com/" target="_blank" rel="noopener">Google</a> in a new tab or window.</p>]]></content>
</entry>
<entry>
<title>日本語テスト</title>
<link href="/2013/12/24/test/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%86%E3%82%B9%E3%83%88/"/>
<url>/2013/12/24/test/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%86%E3%82%B9%E3%83%88/</url>
<content type="html"><![CDATA[<p>This is a Japanese test post.</p><p>私は昨日ついにその助力家というのの上よりするたなけれ。</p><p>最も今をお話団はちょうどこの前後なかろでくらいに困りがいるたをは帰着考えたなかって、そうにもするでうたらない。</p><p>がたを知っないはずも同時に九月をいよいよたありた。</p><p>もっと槙さんにぼんやり金少し説明にえた自分大した人私か影響にというお関係たうませないが、この次第も私か兄具合に使うて、槙さんののに当人のあなたにさぞご意味と行くて私個人が小尊敬を聴いように同時に同反抗に集っだうて、いよいよまず相当へあっうからいだ事をしでなけれ。</p><blockquote><p>それでそれでもご時日をしはずはたったいやと突き抜けるますて、その元がは行ったてという獄を尽すていけですた。</p></blockquote><p>この中道具の日その学校はあなたごろがすまなりかとネルソンさんの考えるですん、辺の事実ないというご盲従ありたですと、爺さんのためが薬缶が結果までの箸の当時してならて、多少の十月にためからそういう上からとにかくしましないと触れべきものたで、ないうですと多少お人達したのでたた。</p><p><em>From <a href="http://lipsum.sugutsukaeru.jp/index.cgi" target="_blank" rel="noopener">すぐ使えるダミーテキスト - 日本語 Lorem ipsum</a></em></p>]]></content>
</entry>
<entry>
<title>中文測試</title>
<link href="/2013/12/24/test/%E4%B8%AD%E6%96%87%E6%B8%AC%E8%A9%A6/"/>
<url>/2013/12/24/test/%E4%B8%AD%E6%96%87%E6%B8%AC%E8%A9%A6/</url>
<content type="html"><![CDATA[<p>This is a Chinese test post.</p><p>善我王上魚、產生資西員合兒臉趣論。畫衣生這著爸毛親可時,安程幾?合學作。觀經而作建。都非子作這!法如言子你關!手師也。</p><p>以也座論頭室業放。要車時地變此親不老高小是統習直麼調未,行年香一?</p><p>就竟在,是我童示讓利分和異種百路關母信過明驗有個歷洋中前合著區亮風值新底車有正結,進快保的行戰從:弟除文辦條國備當來際年每小腳識世可的的外的廣下歌洲保輪市果底天影;全氣具些回童但倒影發狀在示,數上學大法很,如要我……月品大供這起服滿老?應學傳者國:山式排只不之然清同關;細車是!停屋常間又,資畫領生,相們制在?公別的人寫教資夠。資再我我!只臉夫藝量不路政吃息緊回力之;兒足灣電空時局我怎初安。意今一子區首者微陸現際安除發連由子由而走學體區園我車當會,經時取頭,嚴了新科同?很夫營動通打,出和導一樂,查旅他。坐是收外子發物北看蘭戰坐車身做可來。道就學務。</p><p>國新故。</p><blockquote><p>工步他始能詩的,裝進分星海演意學值例道……於財型目古香亮自和這乎?化經溫詩。只賽嚴大一主價世哥受的沒有中年即病行金拉麼河。主小路了種就小為廣不?</p></blockquote><p><em>From <a href="http://www.richyli.com/tool/loremipsum/" target="_blank" rel="noopener">亂數假文產生器 - Chinese Lorem Ipsum</a></em></p>]]></content>
</entry>
<entry>
<title>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam justo turpis, tincidunt ac convallis id.</title>
<link href="/2013/12/24/test/long-title/"/>
<url>/2013/12/24/test/long-title/</url>
<content type="html"><![CDATA[<p>This post has a long title. Make sure the title displayed right.</p>]]></content>
</entry>
<entry>
<title>Link Post</title>
<link href="/2013/12/24/test/link-post/"/>
<url>/2013/12/24/test/link-post/</url>
<content type="html"><![CDATA[<p>This is a link post. Clicking on the link should open <a href="http://www.google.com/" target="_blank" rel="noopener">Google</a> in a new tab or window.</p>]]></content>
</entry>
<entry>
<title>Elements</title>
<link href="/2013/12/24/test/elements/"/>
<url>/2013/12/24/test/elements/</url>
<content type="html"><![CDATA[<p>The purpose of this post is to help you make sure all of HTML elements can display properly. If you use CSS reset, don’t forget to redefine the style by yourself.</p><hr><h1 id="Heading-1"><a href="#Heading-1" class="headerlink" title="Heading 1"></a>Heading 1</h1><h2 id="Heading-2"><a href="#Heading-2" class="headerlink" title="Heading 2"></a>Heading 2</h2><h3 id="Heading-3"><a href="#Heading-3" class="headerlink" title="Heading 3"></a>Heading 3</h3><h4 id="Heading-4"><a href="#Heading-4" class="headerlink" title="Heading 4"></a>Heading 4</h4><h5 id="Heading-5"><a href="#Heading-5" class="headerlink" title="Heading 5"></a>Heading 5</h5><h6 id="Heading-6"><a href="#Heading-6" class="headerlink" title="Heading 6"></a>Heading 6</h6><hr><h2 id="Paragraph"><a href="#Paragraph" class="headerlink" title="Paragraph"></a>Paragraph</h2><p>Lorem ipsum dolor sit amet, <a href="">test link</a> consectetur adipiscing elit. <strong>Strong text</strong> pellentesque ligula commodo viverra vehicula. <em>Italic text</em> at ullamcorper enim. Morbi a euismod nibh. <u>Underline text</u> non elit nisl. <del>Deleted text</del> tristique, sem id condimentum tempus, metus lectus venenatis mauris, sit amet semper lorem felis a eros. Fusce egestas nibh at sagittis auctor. Sed ultricies ac arcu quis molestie. Donec dapibus nunc in nibh egestas, vitae volutpat sem iaculis. Curabitur sem tellus, elementum nec quam id, fermentum laoreet mi. Ut mollis ullamcorper turpis, vitae facilisis velit ultricies sit amet. Etiam laoreet dui odio, id tempus justo tincidunt id. Phasellus scelerisque nunc sed nunc ultricies accumsan.</p><p>Interdum et malesuada fames ac ante ipsum primis in faucibus. <code>Sed erat diam</code>, blandit eget felis aliquam, rhoncus varius urna. Donec tellus sapien, sodales eget ante vitae, feugiat ullamcorper urna. Praesent auctor dui vitae dapibus eleifend. Proin viverra mollis neque, ut ullamcorper elit posuere eget.</p><blockquote><p>Praesent diam elit, interdum ut pulvinar placerat, imperdiet at magna.</p></blockquote><p>Maecenas ornare arcu at mi suscipit, non molestie tortor ultrices. Aenean convallis, diam et congue ultricies, erat magna tincidunt orci, pulvinar posuere mi sapien ac magna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent vitae placerat mauris. Nullam laoreet ante posuere tortor blandit auctor. Sed id ligula volutpat leo consequat placerat. Mauris fermentum dolor sed augue malesuada sollicitudin. Vivamus ultrices nunc felis, quis viverra orci eleifend ut. Donec et quam id urna cursus posuere. Donec elementum scelerisque laoreet.</p><h2 id="List-Types"><a href="#List-Types" class="headerlink" title="List Types"></a>List Types</h2><h3 id="Definition-List-dl"><a href="#Definition-List-dl" class="headerlink" title="Definition List (dl)"></a>Definition List (dl)</h3><dl><dt>Definition List Title</dt><dd>This is a definition list division.</dd></dl><h3 id="Ordered-List-ol"><a href="#Ordered-List-ol" class="headerlink" title="Ordered List (ol)"></a>Ordered List (ol)</h3><ol><li>List Item 1</li><li>List Item 2</li><li>List Item 3</li></ol><h3 id="Unordered-List-ul"><a href="#Unordered-List-ul" class="headerlink" title="Unordered List (ul)"></a>Unordered List (ul)</h3><ul><li>List Item 1</li><li>List Item 2</li><li>List Item 3</li></ul><h2 id="Table"><a href="#Table" class="headerlink" title="Table"></a>Table</h2><table><thead><tr><th>Table Header 1</th><th>Table Header 2</th><th>Table Header 3</th></tr></thead><tbody><tr><td>Division 1</td><td>Division 2</td><td>Division 3</td></tr><tr><td>Division 1</td><td>Division 2</td><td>Division 3</td></tr><tr><td>Division 1</td><td>Division 2</td><td>Division 3</td></tr></tbody></table><h2 id="Misc-Stuff-abbr-acronym-sub-sup-etc"><a href="#Misc-Stuff-abbr-acronym-sub-sup-etc" class="headerlink" title="Misc Stuff - abbr, acronym, sub, sup, etc."></a>Misc Stuff - abbr, acronym, sub, sup, etc.</h2><p>Lorem <sup>superscript</sup> dolor <sub>subscript</sub> amet, consectetuer adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. <cite>cite</cite>. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. <acronym title="National Basketball Association">NBA</acronym> Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. <abbr title="Avenue">AVE</abbr></p>]]></content>
</entry>
<entry>
<title>Hello World</title>
<link href="/2013/12/24/test/hello-world/"/>
<url>/2013/12/24/test/hello-world/</url>
<content type="html"><![CDATA[<p>Welcome to <a href="http://zespia.tw/hexo" target="_blank" rel="noopener">Hexo</a>! This is your very first post. Check <a href="http://zespia.tw/hexo/docs" target="_blank" rel="noopener">documentation</a> to learn how to use.</p>]]></content>
</entry>
</search>