-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathDebugging.html
More file actions
398 lines (386 loc) · 37.3 KB
/
Debugging.html
File metadata and controls
398 lines (386 loc) · 37.3 KB
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
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
<!DOCTYPE html>
<html class="client-nojs" lang="en" dir="ltr">
<head>
<meta charset="UTF-8"/>
<title>Debugging - wiki.vg</title>
<script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script>
<script>(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Debugging","wgTitle":"Debugging","wgCurRevisionId":8417,"wgRevisionId":8417,"wgArticleId":834,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"Debugging","wgRelevantArticleId":834,"wgRequestId":"55659854b2db4bc1026b1c9f","wgIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[]});mw.loader.state({"site.styles":"ready","noscript":"ready","user.styles":"ready","user.cssprefs":"ready","user":"ready","user.options":"loading","user.tokens":"loading","ext.pygments":"ready","mediawiki.legacy.shared":"ready","mediawiki.legacy.commonPrint":"ready","mediawiki.sectionAnchor":"ready","mediawiki.skinning.interface":"ready","skins.vector.styles":"ready"});mw.loader.implement("user.options@0j3lz3q",function($,jQuery,require,module){mw.user.options.set({"variant":"en"});});mw.loader.implement("user.tokens@12oj1re",function ( $, jQuery, require, module ) {
mw.user.tokens.set({"editToken":"+\\","patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});/*@nomin*/;
});mw.loader.load(["mediawiki.page.startup","skins.vector.js"]);});</script>
<link rel="stylesheet" href="https://wiki.vg/load.php?debug=false&lang=en&modules=ext.pygments%7Cmediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.sectionAnchor%7Cmediawiki.skinning.interface%7Cskins.vector.styles&only=styles&skin=vector"/>
<script async="" src="https://wiki.vg/load.php?debug=false&lang=en&modules=startup&only=scripts&skin=vector"></script>
<meta name="ResourceLoaderDynamicStyles" content=""/>
<link rel="stylesheet" href="https://wiki.vg/load.php?debug=false&lang=en&modules=site.styles&only=styles&skin=vector"/>
<meta name="generator" content="MediaWiki 1.28.2"/>
<link rel="shortcut icon" href="https://wiki.vg/favicon.ico"/>
<link rel="search" type="application/opensearchdescription+xml" href="https://wiki.vg/opensearch_desc.php" title="wiki.vg (en)"/>
<link rel="EditURI" type="application/rsd+xml" href="http://wiki.vg/api.php?action=rsd"/>
<link rel="copyright" href="http://creativecommons.org/licenses/by-sa/3.0/"/>
<link rel="alternate" type="application/atom+xml" title="wiki.vg Atom feed" href="https://wiki.vg/index.php?title=Special:RecentChanges&feed=atom"/>
</head>
<body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Debugging rootpage-Debugging skin-vector action-view"> <div id="mw-page-base" class="noprint"></div>
<div id="mw-head-base" class="noprint"></div>
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<div class="mw-indicators">
</div>
<h1 id="firstHeading" class="firstHeading" lang="en">Debugging</h1>
<div id="bodyContent" class="mw-body-content">
<div id="siteSub">From wiki.vg</div>
<div id="contentSub"></div>
<div id="jump-to-nav" class="mw-jump">
Jump to: <a href="Debugging.html#mw-head">navigation</a>, <a href="Debugging.html#p-search">search</a>
</div>
<div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><p>The Notchian client and server (and additionally the launcher) can generate additional log information that what is normally displayed, some of which is extremely helpful for debugging. This can be done by specifying a custom <a rel="nofollow" class="external text" href="http://logging.apache.org/log4j/2.x/manual/configuration.html">Log4j configuration</a>.
</p><p>The native launcher provides a "Log config" section for doing this directly. For other situations, this can be done by <code>-Dlog4j.configurationFile=fullpathtoconfigfile.xml</code> argument to the game:
</p>
<ul><li> <a href="images/e/e1/ClientDebugging.png" class="internal" title="ClientDebugging.png">In the JVM Arguments section of the Java launcher</a></li>
<li> Before the <code>-jar</code> in the server launch command</li>
<li> Before the <code>-jar</code> when directly invoking the <code>launcher.jar</code></li></ul>
<p>When using the native launcher, use the XML variant of the log config and check "Custom log config outputs XML". This allows the launcher to provide cleaner information in its output. When using the java launcher, or when launching a server, use the non-XML variant (you don't want XML in the console, and the XML variants don't work with the server GUI).
</p><p><span style="background:#FFF3BD; padding: 1px 5px 3px 5px; border: 1px solid #C4B674;">
<a href="./File:Warning.png.html" class="image"><img alt="Warning.png" src="images/c/cb/Warning.png" width="14" height="14" /></a> If the configuration specified with <code>-Dlog4j.configurationFile</code> cannot be found, the default one will silently be used instead.
</span>
</p><p>You can get the default configuration for the game by extracting <code>log4j2.xml</code> from the jar you wish to work with.
</p>
<div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="Debugging.html#Options"><span class="tocnumber">1</span> <span class="toctext">Options</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="Debugging.html#Sample_configs"><span class="tocnumber">2</span> <span class="toctext">Sample configs</span></a>
<ul>
<li class="toclevel-2 tocsection-3"><a href="Debugging.html#Network_packets_only"><span class="tocnumber">2.1</span> <span class="toctext">Network packets only</span></a></li>
<li class="toclevel-2 tocsection-4"><a href="Debugging.html#All_debug_information"><span class="tocnumber">2.2</span> <span class="toctext">All debug information</span></a></li>
<li class="toclevel-2 tocsection-5"><a href="Debugging.html#All_debug_information_on_CraftBukkit.2FSpigot"><span class="tocnumber">2.3</span> <span class="toctext">All debug information on CraftBukkit/Spigot</span></a></li>
<li class="toclevel-2 tocsection-6"><a href="Debugging.html#Launcher_session_information"><span class="tocnumber">2.4</span> <span class="toctext">Launcher session information</span></a></li>
</ul>
</li>
</ul>
</div>
<h2><span class="mw-headline" id="Options">Options</span></h2>
<p>There are only a few options that have useful behaviors within the log4j configuration.
</p><p>The main one is <code>level</code> in <code><Root></code>. Normally, this is set to <code>info</code>, but it accepts <code>trace</code>, <code>debug</code>, <code>info</code>, <code>warn</code>, <code>error</code>, <code>all</code>, and <code>off</code>. The lowest level that is actually used by Minecraft is <code>debug</code>, so that one should be used for maximum additional information.
</p><p>The other major option is the list of <code><filter></code>s. By default, the game filters out information regarding packets with a <code><filter></code> that rejects all log messages marked with <code>NETWORK_PACKETS</code>. You can instead make it so that the filter only accepts <code>NETWORK_PACKETS</code> and rejects everything else, or alternatively you can remove the <code><filter></code> entirely so that all messages are displayed. Beyond just <code>NETWORK_PACKETS</code>, there are a few other log markers: <code>SOUNDS</code>, <code>NETWORK</code>, <code>PACKET_SENT</code>, and <code>PACKET_RECEIVED</code>. <code>NETWORK</code> and <code>NETWORK_PACKETS</code> behave identically; <code>PACKET_SENT</code> and <code>PACKET_RECEIVED</code> can be used to show only one set of the packets; and <code>SOUNDS</code> can be used to emit information about when a sound channel starts and stops (mostly only useful when diagnosing issues where a sound seems to be playing twice).
</p><p>One other note: by default, log4j overwrites old logs if there are more than 7 for a day (see <a rel="nofollow" class="external text" href="https://bugs.mojang.com/browse/MC-100524">MC-100524</a>). You can disable this behavior by adding a <code><DefaultRolloverStrategy max="1000"/></code> to the <code><RollingRandomAccessFile></code>, which makes the maximum 1000 files in a day (which is much less likely to be hit - 1000 is used over something larger because at larger numbers there starts to be a performance hit).
</p>
<h2><span class="mw-headline" id="Sample_configs">Sample configs</span></h2>
<h3><span class="mw-headline" id="Network_packets_only">Network packets only</span></h3>
<p><i>Applies to: vanilla client and server</i>
</p><p>Produces logs of all packets sent to and from the server/client, <b>and nothing else</b> (this also disables logging of normal content, including chat). Unfortunately, since the Netty rewrite (Minecraft 1.7) only packet IDs and classes are logged, and not their contents; however, this information may still be helpful.
</p><p><span style="background:#FFF3BD; padding: 1px 5px 3px 5px; border: 1px solid #C4B674;">
<a href="./File:Warning.png.html" class="image"><img alt="Warning.png" src="images/c/cb/Warning.png" width="14" height="14" /></a> Packet IDs are shown in decimal in logs; they are not in hexadecimal.
</span>
</p>
<div class="mw-collapsible mw-collapsed" style="border: 1px solid #aaa;">
<p>Config:
</p>
<div class="mw-collapsible-content mw-highlight mw-content-ltr" dir="ltr"><pre><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="nt"><Configuration</span> <span class="na">status=</span><span class="s">"WARN"</span> <span class="na">packages=</span><span class="s">"com.mojang.util"</span><span class="nt">></span>
<span class="nt"><Appenders></span>
<span class="nt"><Console</span> <span class="na">name=</span><span class="s">"SysOut"</span> <span class="na">target=</span><span class="s">"SYSTEM_OUT"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss}] [%t/%level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"></Console></span>
<span class="nt"><Queue</span> <span class="na">name=</span><span class="s">"ServerGuiConsole"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss} %level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"></Queue></span>
<span class="nt"><RollingRandomAccessFile</span> <span class="na">name=</span><span class="s">"File"</span> <span class="na">fileName=</span><span class="s">"logs/latest.log"</span> <span class="na">filePattern=</span><span class="s">"logs/%d{yyyy-MM-dd}-%i.log.gz"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss}] [%t/%level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"><Policies></span>
<span class="nt"><TimeBasedTriggeringPolicy</span> <span class="nt">/></span>
<span class="nt"><OnStartupTriggeringPolicy</span> <span class="nt">/></span>
<span class="nt"></Policies></span>
<span class="nt"><DefaultRolloverStrategy</span> <span class="na">max=</span><span class="s">"1000"</span><span class="nt">/></span>
<span class="nt"></RollingRandomAccessFile></span>
<span class="nt"></Appenders></span>
<span class="nt"><Loggers></span>
<span class="nt"><Root</span> <span class="na">level=</span><span class="s">"debug"</span><span class="nt">></span>
<span class="nt"><filters></span>
<span class="nt"><MarkerFilter</span> <span class="na">marker=</span><span class="s">"NETWORK_PACKETS"</span> <span class="na">onMatch=</span><span class="s">"ACCEPT"</span> <span class="na">onMismatch=</span><span class="s">"DENY"</span> <span class="nt">/></span>
<span class="nt"></filters></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"SysOut"</span><span class="nt">/></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"File"</span><span class="nt">/></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"ServerGuiConsole"</span><span class="nt">/></span>
<span class="nt"></Root></span>
<span class="nt"></Loggers></span>
<span class="nt"></Configuration></span>
</pre></div>
</div>
<div class="mw-collapsible mw-collapsed" style="border: 1px solid #aaa;">
<p>Config (XML output):
</p>
<div class="mw-collapsible-content mw-highlight mw-content-ltr" dir="ltr"><pre><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="nt"><Configuration</span> <span class="na">status=</span><span class="s">"WARN"</span><span class="nt">></span>
<span class="nt"><Appenders></span>
<span class="nt"><Console</span> <span class="na">name=</span><span class="s">"SysOut"</span> <span class="na">target=</span><span class="s">"SYSTEM_OUT"</span><span class="nt">></span>
<span class="nt"><XMLLayout</span> <span class="nt">/></span>
<span class="nt"></Console></span>
<span class="nt"><RollingRandomAccessFile</span> <span class="na">name=</span><span class="s">"File"</span> <span class="na">fileName=</span><span class="s">"logs/latest.log"</span> <span class="na">filePattern=</span><span class="s">"logs/%d{yyyy-MM-dd}-%i.log.gz"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss}] [%t/%level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"><Policies></span>
<span class="nt"><TimeBasedTriggeringPolicy</span> <span class="nt">/></span>
<span class="nt"><OnStartupTriggeringPolicy</span> <span class="nt">/></span>
<span class="nt"></Policies></span>
<span class="nt"><DefaultRolloverStrategy</span> <span class="na">max=</span><span class="s">"1000"</span><span class="nt">/></span>
<span class="nt"></RollingRandomAccessFile></span>
<span class="nt"></Appenders></span>
<span class="nt"><Loggers></span>
<span class="nt"><Root</span> <span class="na">level=</span><span class="s">"debug"</span><span class="nt">></span>
<span class="nt"><filters></span>
<span class="nt"><MarkerFilter</span> <span class="na">marker=</span><span class="s">"NETWORK_PACKETS"</span> <span class="na">onMatch=</span><span class="s">"ACCEPT"</span> <span class="na">onMismatch=</span><span class="s">"DENY"</span> <span class="nt">/></span>
<span class="nt"></filters></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"SysOut"</span><span class="nt">/></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"File"</span><span class="nt">/></span>
<span class="nt"></Root></span>
<span class="nt"></Loggers></span>
<span class="nt"></Configuration></span>
</pre></div>
</div>
<h3><span class="mw-headline" id="All_debug_information">All debug information</span></h3>
<p><i>Applies to: vanilla client and server</i>
</p><p>You can log even more information if you want. This will print normal log messages (such as chat), but also network packets, sounds starting/stopping playing (client only), some authentication requests, and other miscellaneous information.
</p>
<div class="mw-collapsible mw-collapsed" style="border: 1px solid #aaa;">
<p>Config:
</p>
<div class="mw-collapsible-content mw-highlight mw-content-ltr" dir="ltr"><pre><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="nt"><Configuration</span> <span class="na">status=</span><span class="s">"WARN"</span> <span class="na">packages=</span><span class="s">"com.mojang.util"</span><span class="nt">></span>
<span class="nt"><Appenders></span>
<span class="nt"><Console</span> <span class="na">name=</span><span class="s">"SysOut"</span> <span class="na">target=</span><span class="s">"SYSTEM_OUT"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss}] [%t/%level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"></Console></span>
<span class="nt"><Queue</span> <span class="na">name=</span><span class="s">"ServerGuiConsole"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss} %level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"></Queue></span>
<span class="nt"><RollingRandomAccessFile</span> <span class="na">name=</span><span class="s">"File"</span> <span class="na">fileName=</span><span class="s">"logs/latest.log"</span> <span class="na">filePattern=</span><span class="s">"logs/%d{yyyy-MM-dd}-%i.log.gz"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss}] [%t/%level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"><Policies></span>
<span class="nt"><TimeBasedTriggeringPolicy</span> <span class="nt">/></span>
<span class="nt"><OnStartupTriggeringPolicy</span> <span class="nt">/></span>
<span class="nt"></Policies></span>
<span class="nt"><DefaultRolloverStrategy</span> <span class="na">max=</span><span class="s">"1000"</span><span class="nt">/></span>
<span class="nt"></RollingRandomAccessFile></span>
<span class="nt"></Appenders></span>
<span class="nt"><Loggers></span>
<span class="nt"><Root</span> <span class="na">level=</span><span class="s">"debug"</span><span class="nt">></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"SysOut"</span><span class="nt">/></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"File"</span><span class="nt">/></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"ServerGuiConsole"</span><span class="nt">/></span>
<span class="nt"></Root></span>
<span class="nt"></Loggers></span>
<span class="nt"></Configuration></span>
</pre></div>
</div>
<div class="mw-collapsible mw-collapsed" style="border: 1px solid #aaa;">
<p>Config (XML output):
</p>
<div class="mw-collapsible-content mw-highlight mw-content-ltr" dir="ltr"><pre><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="nt"><Configuration</span> <span class="na">status=</span><span class="s">"WARN"</span><span class="nt">></span>
<span class="nt"><Appenders></span>
<span class="nt"><Console</span> <span class="na">name=</span><span class="s">"SysOut"</span> <span class="na">target=</span><span class="s">"SYSTEM_OUT"</span><span class="nt">></span>
<span class="nt"><XMLLayout</span> <span class="nt">/></span>
<span class="nt"></Console></span>
<span class="nt"><RollingRandomAccessFile</span> <span class="na">name=</span><span class="s">"File"</span> <span class="na">fileName=</span><span class="s">"logs/latest.log"</span> <span class="na">filePattern=</span><span class="s">"logs/%d{yyyy-MM-dd}-%i.log.gz"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss}] [%t/%level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"><Policies></span>
<span class="nt"><TimeBasedTriggeringPolicy</span> <span class="nt">/></span>
<span class="nt"><OnStartupTriggeringPolicy</span> <span class="nt">/></span>
<span class="nt"></Policies></span>
<span class="nt"><DefaultRolloverStrategy</span> <span class="na">max=</span><span class="s">"1000"</span><span class="nt">/></span>
<span class="nt"></RollingRandomAccessFile></span>
<span class="nt"></Appenders></span>
<span class="nt"><Loggers></span>
<span class="nt"><Root</span> <span class="na">level=</span><span class="s">"debug"</span><span class="nt">></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"SysOut"</span><span class="nt">/></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"File"</span><span class="nt">/></span>
<span class="nt"></Root></span>
<span class="nt"></Loggers></span>
<span class="nt"></Configuration></span>
</pre></div>
</div>
<h3><span class="mw-headline" id="All_debug_information_on_CraftBukkit.2FSpigot">All debug information on CraftBukkit/Spigot</span></h3>
<p><i>Applies to: CraftBukkit servers and servers that derive from CraftBukkit</i>
</p><p>Because CraftBukkit uses slightly different console output (and has no server GUI), the configuration needs to be slightly tweaked to display correctly. However, doing this will also display the remapped packet class names.
</p>
<div class="mw-collapsible mw-collapsed" style="border: 1px solid #aaa;">
<p>Config:
</p>
<div class="mw-collapsible-content mw-highlight mw-content-ltr" dir="ltr"><pre><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="nt"><Configuration</span> <span class="na">status=</span><span class="s">"WARN"</span> <span class="na">packages=</span><span class="s">"net.minecraft,com.mojang"</span><span class="nt">></span>
<span class="nt"><Appenders></span>
<span class="nt"><Console</span> <span class="na">name=</span><span class="s">"WINDOWS_COMPAT"</span> <span class="na">target=</span><span class="s">"SYSTEM_OUT"</span><span class="nt">></Console></span>
<span class="nt"><Queue</span> <span class="na">name=</span><span class="s">"TerminalConsole"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss} %level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"></Queue></span>
<span class="nt"><RollingRandomAccessFile</span> <span class="na">name=</span><span class="s">"File"</span> <span class="na">fileName=</span><span class="s">"logs/latest.log"</span> <span class="na">filePattern=</span><span class="s">"logs/%d{yyyy-MM-dd}-%i.log.gz"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss}] [%t/%level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"><Policies></span>
<span class="nt"><TimeBasedTriggeringPolicy</span> <span class="nt">/></span>
<span class="nt"><OnStartupTriggeringPolicy</span> <span class="nt">/></span>
<span class="nt"></Policies></span>
<span class="nt"><DefaultRolloverStrategy</span> <span class="na">max=</span><span class="s">"1000"</span><span class="nt">/></span>
<span class="nt"></RollingRandomAccessFile></span>
<span class="nt"></Appenders></span>
<span class="nt"><Loggers></span>
<span class="nt"><Root</span> <span class="na">level=</span><span class="s">"debug"</span><span class="nt">></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"WINDOWS_COMPAT"</span><span class="nt">/></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"File"</span><span class="nt">/></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"TerminalConsole"</span><span class="nt">/></span>
<span class="nt"></Root></span>
<span class="nt"></Loggers></span>
<span class="nt"></Configuration></span>
</pre></div>
</div>
<h3><span class="mw-headline" id="Launcher_session_information">Launcher session information</span></h3>
<p><i>Applies to: Launcher.jar</i>
</p><p>By enabling debug launching on the (Java launcher's) launcher.jar, you can view connections to the <a href="Mojang_API.html" title="Mojang API">Mojang API</a> - helpful if you want to see a sample connection to each endpoint for your own account.
</p><p>Note that this configuration <i>may</i> not work if you invoke the normal launcher EXE/JAR - instead, use it on the <code>launcher.jar</code> located in <code>%appdata%\.minecraft</code>.
</p>
<div class="mw-collapsible mw-collapsed" style="border: 1px solid #aaa;">
<p>Config:
</p>
<div class="mw-collapsible-content mw-highlight mw-content-ltr" dir="ltr"><pre><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="nt"><Configuration</span> <span class="na">status=</span><span class="s">"WARN"</span> <span class="na">packages=</span><span class="s">"com.mojang"</span><span class="nt">></span>
<span class="nt"><Appenders></span>
<span class="nt"><Console</span> <span class="na">name=</span><span class="s">"SysOut"</span> <span class="na">target=</span><span class="s">"SYSTEM_OUT"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss} %level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"></Console></span>
<span class="nt"><Queue</span> <span class="na">name=</span><span class="s">"DevelopmentConsole"</span><span class="nt">></span>
<span class="nt"><PatternLayout</span> <span class="na">pattern=</span><span class="s">"[%d{HH:mm:ss} %level]: %msg%n"</span> <span class="nt">/></span>
<span class="nt"></Queue></span>
<span class="nt"><Async</span> <span class="na">name=</span><span class="s">"Async"</span><span class="nt">></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"SysOut"</span><span class="nt">/></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"DevelopmentConsole"</span><span class="nt">/></span>
<span class="nt"></Async></span>
<span class="nt"></Appenders></span>
<span class="nt"><Loggers></span>
<span class="nt"><Root</span> <span class="na">level=</span><span class="s">"debug"</span><span class="nt">></span>
<span class="nt"><AppenderRef</span> <span class="na">ref=</span><span class="s">"Async"</span><span class="nt">/></span>
<span class="nt"></Root></span>
<span class="nt"></Loggers></span>
<span class="nt"></Configuration></span>
</pre></div>
</div>
<!--
NewPP limit report
Cached time: 20180822211638
Cache expiry: 86400
Dynamic content: false
CPU time usage: 0.056 seconds
Real time usage: 0.076 seconds
Preprocessor visited node count: 145/1000000
Preprocessor generated node count: 326/1000000
Post‐expand include size: 457/2097152 bytes
Template argument size: 207/2097152 bytes
Highest expansion depth: 2/40
Expensive parser function count: 0/100
-->
<!--
Transclusion expansion time report (%,ms,calls,template)
100.00% 7.252 1 - -total
77.39% 5.612 2 - Template:Warning
-->
<!-- Saved in parser cache with key wiki-wiki_:pcache:idhash:834-0!*!0!!en!5!* and timestamp 20180822211638 and revision id 8417
-->
</div> <div class="printfooter">
Retrieved from "<a dir="ltr" href="http://wiki.vg/index.php?title=Debugging&oldid=8417">http://wiki.vg/index.php?title=Debugging&oldid=8417</a>" </div>
<div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> <div class="visualClear"></div>
</div>
</div>
<div id="mw-navigation">
<h2>Navigation menu</h2>
<div id="mw-head">
<div id="p-personal" role="navigation" class="" aria-labelledby="p-personal-label">
<h3 id="p-personal-label">Personal tools</h3>
<ul>
<li id="pt-createaccount"><a href="https://wiki.vg/index.php?title=Special:CreateAccount&returnto=Debugging" title="You are encouraged to create an account and log in; however, it is not mandatory">Create account</a></li><li id="pt-login"><a href="https://wiki.vg/index.php?title=Special:UserLogin&returnto=Debugging" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o">Log in</a></li> </ul>
</div>
<div id="left-navigation">
<div id="p-namespaces" role="navigation" class="vectorTabs" aria-labelledby="p-namespaces-label">
<h3 id="p-namespaces-label">Namespaces</h3>
<ul>
<li id="ca-nstab-main" class="selected"><span><a href="Debugging.html" title="View the content page [c]" accesskey="c">Page</a></span></li>
<li id="ca-talk" class="new"><span><a href="https://wiki.vg/index.php?title=Talk:Debugging&action=edit&redlink=1" title="Discussion about the content page [t]" accesskey="t" rel="discussion">Discussion</a></span></li>
</ul>
</div>
<div id="p-variants" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-variants-label">
<h3 id="p-variants-label">
<span>Variants</span><a href="Debugging.html#"></a>
</h3>
<div class="menu">
<ul>
</ul>
</div>
</div>
</div>
<div id="right-navigation">
<div id="p-views" role="navigation" class="vectorTabs" aria-labelledby="p-views-label">
<h3 id="p-views-label">Views</h3>
<ul>
<li id="ca-view" class="selected"><span><a href="Debugging.html" >Read</a></span></li>
<li id="ca-viewsource"><span><a href="https://wiki.vg/index.php?title=Debugging&action=edit" title="This page is protected. You can view its source [e]" accesskey="e">View source</a></span></li>
<li id="ca-history" class="collapsible"><span><a href="https://wiki.vg/index.php?title=Debugging&action=history" title="Past revisions of this page [h]" accesskey="h">View history</a></span></li>
</ul>
</div>
<div id="p-cactions" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-cactions-label">
<h3 id="p-cactions-label"><span>More</span><a href="Debugging.html#"></a></h3>
<div class="menu">
<ul>
</ul>
</div>
</div>
<div id="p-search" role="search">
<h3>
<label for="searchInput">Search</label>
</h3>
<form action="https://wiki.vg/index.php" id="searchform">
<div id="simpleSearch">
<input type="search" name="search" placeholder="Search wiki.vg" title="Search wiki.vg [f]" accesskey="f" id="searchInput"/><input type="hidden" value="Special:Search" name="title"/><input type="submit" name="fulltext" value="Search" title="Search the pages for this text" id="mw-searchButton" class="searchButton mw-fallbackSearchButton"/><input type="submit" name="go" value="Go" title="Go to a page with this exact name if it exists" id="searchButton" class="searchButton"/> </div>
</form>
</div>
</div>
</div>
<div id="mw-panel">
<div id="p-logo" role="banner"><a class="mw-wiki-logo" href="index.html" title="Visit the main page"></a></div>
<div class="portal" role="navigation" id='p-navigation' aria-labelledby='p-navigation-label'>
<h3 id='p-navigation-label'>Navigation</h3>
<div class="body">
<ul>
<li id="n-mainpage-description"><a href="index.html" title="Visit the main page [z]" accesskey="z">Main page</a></li><li id="n-recentchanges"><a href="https://wiki.vg/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r">Recent changes</a></li><li id="n-randompage"><a href="https://wiki.vg/Special:Random" title="Load a random page [x]" accesskey="x">Random page</a></li><li id="n-help"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents" title="The place to find out">Help</a></li> </ul>
</div>
</div>
<div class="portal" role="navigation" id='p-tb' aria-labelledby='p-tb-label'>
<h3 id='p-tb-label'>Tools</h3>
<div class="body">
<ul>
<li id="t-whatlinkshere"><a href="https://wiki.vg/Special:WhatLinksHere/Debugging" title="A list of all wiki pages that link here [j]" accesskey="j">What links here</a></li><li id="t-recentchangeslinked"><a href="https://wiki.vg/Special:RecentChangesLinked/Debugging" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li><li id="t-specialpages"><a href="https://wiki.vg/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q">Special pages</a></li><li id="t-print"><a href="https://wiki.vg/index.php?title=Debugging&printable=yes" rel="alternate" title="Printable version of this page [p]" accesskey="p">Printable version</a></li><li id="t-permalink"><a href="https://wiki.vg/index.php?title=Debugging&oldid=8417" title="Permanent link to this revision of the page">Permanent link</a></li><li id="t-info"><a href="https://wiki.vg/index.php?title=Debugging&action=info" title="More information about this page">Page information</a></li> </ul>
</div>
</div>
</div>
</div>
<div id="footer" role="contentinfo">
<ul id="footer-info">
<li id="footer-info-lastmod"> This page was last modified on 18 February 2017, at 18:36.</li>
<li id="footer-info-copyright">Content is available under <a class="external" rel="nofollow" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution Share Alike</a> unless otherwise noted.</li>
</ul>
<ul id="footer-places">
<li id="footer-places-privacy"><a href="./wikivg:Privacy_policy.html" title="wikivg:Privacy policy">Privacy policy</a></li>
<li id="footer-places-about"><a href="./wikivg:About.html" title="wikivg:About">About wiki.vg</a></li>
<li id="footer-places-disclaimer"><a href="./wikivg:General_disclaimer.html" title="wikivg:General disclaimer">Disclaimers</a></li>
</ul>
<ul id="footer-icons" class="noprint">
<li id="footer-copyrightico">
<a href="http://creativecommons.org/licenses/by-sa/3.0/"><img src="resources/assets/licenses/cc-by-sa.png" alt="Creative Commons Attribution Share Alike" width="88" height="31"/></a> </li>
<li id="footer-poweredbyico">
<a href="https://www.mediawiki.org/"><img src="resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="resources/assets/poweredby_mediawiki_132x47.png 1.5x, resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31"/></a> </li>
</ul>
<div style="clear:both"></div>
</div>
<script>(window.RLQ=window.RLQ||[]).push(function(){mw.loader.load(["mediawiki.toc","mediawiki.action.view.postEdit","site","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest"]);});</script><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-11145163-13");
pageTracker._trackPageview();
</script><script>(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgBackendResponseTime":160});});</script>
</body>
</html>