{"id":910,"date":"2018-09-17T18:17:23","date_gmt":"2018-09-17T09:17:23","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=910"},"modified":"2018-12-23T02:01:26","modified_gmt":"2018-12-22T17:01:26","slug":"http-log-filter","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/th\/\u0e1a\u0e25\u0e47\u0e2d\u0e01\/java\/\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01-http","title":{"rendered":"\u0e41\u0e22\u0e01\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c HTTP \u0e14\u0e49\u0e27\u0e22\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 Java"},"content":{"rendered":"<h2 class=\"common_title\"><a name=\"0\">\u0e41\u0e22\u0e01\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e04\u0e33\u0e02\u0e2d HTTP \u0e14\u0e49\u0e27\u0e22\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 Java<\/a><\/h2>\n<p>\n<strong>javax.servlet.Filter<\/strong>\u0e27\u0e34\u0e18\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e14\u0e27\u0e01\u0e43\u0e19\u0e01\u0e32\u0e23\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e41\u0e25\u0e30\u0e41\u0e22\u0e01\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e40\u0e19\u0e37\u0e49\u0e2d\u0e2b\u0e32\u0e02\u0e2d\u0e07\u0e04\u0e33\u0e02\u0e2d HTTP \u0e41\u0e25\u0e30\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e2d\u0e32\u0e15\u0e4c\u0e1e\u0e38\u0e15<strong>\u0e01\u0e23\u0e2d\u0e07<\/strong>\u0e41\u0e19\u0e30\u0e19\u0e33\u0e0a\u0e31\u0e49\u0e19\u0e40\u0e23\u0e35\u0e22\u0e19.<br \/>\n<br \/>\n\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e19\u0e35\u0e49\u0e43\u0e0a\u0e49 &quot;java.util.logging.Logger&quot; \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e32\u0e15\u0e4c\u0e1e\u0e38\u0e15\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 \u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e2d\u0e32\u0e15\u0e4c\u0e1e\u0e38\u0e15\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\n<\/p>\n<h2 class=\"common_title\"><a name=\"1\">javax.servlet.Filter \u0e04\u0e37\u0e2d\u0e2d\u0e30\u0e44\u0e23?<\/a><\/h2>\n<p>\n\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 \u0e19\u0e2d\u0e01\u0e40\u0e2b\u0e19\u0e37\u0e2d\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08\u0e2b\u0e25\u0e31\u0e01\u0e41\u0e25\u0e49\u0e27 \u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e23\u0e2d\u0e07\u0e17\u0e31\u0e48\u0e27\u0e44\u0e1b\u0e01\u0e48\u0e2d\u0e19\u0e41\u0e25\u0e30\u0e2b\u0e25\u0e31\u0e07\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08\u0e2b\u0e25\u0e31\u0e01<br \/>\n\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19 \u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e44\u0e04\u0e25\u0e40\u0e2d\u0e47\u0e19\u0e15\u0e4c \u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c \u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 \u0e2f\u0e25\u0e2f<br \/>\n\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e2b\u0e31\u0e2a\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e14\u0e49\u0e32\u0e19\u0e02\u0e49\u0e32\u0e07\u0e43\u0e19\u0e41\u0e15\u0e48\u0e25\u0e30\u0e17\u0e23\u0e31\u0e1e\u0e22\u0e32\u0e01\u0e23\u0e01\u0e25\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e32\u0e40\u0e2b\u0e15\u0e38\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e43\u0e19\u0e01\u0e32\u0e23\u0e02\u0e31\u0e14\u0e02\u0e27\u0e32\u0e07\u0e01\u0e32\u0e23\u0e1a\u0e33\u0e23\u0e38\u0e07\u0e23\u0e31\u0e01\u0e29\u0e32\u0e0b\u0e2d\u0e1f\u0e15\u0e4c\u0e41\u0e27\u0e23\u0e4c \u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e43\u0e2b\u0e49\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e1a\u0e33\u0e23\u0e38\u0e07\u0e23\u0e31\u0e01\u0e29\u0e32\u0e44\u0e14\u0e49\u0e22\u0e32\u0e01<\/p>\n<p>\u0e42\u0e14\u0e22\u0e17\u0e31\u0e48\u0e27\u0e44\u0e1b\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49 javax.servlet.Filter \u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e14\u0e49\u0e32\u0e19\u0e19\u0e35\u0e49\u0e44\u0e14\u0e49\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e04\u0e33\u0e02\u0e2d\u0e08\u0e30\u0e16\u0e39\u0e01\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e04\u0e25\u0e32\u0e2a\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e25\u0e47\u0e15<br \/>\n\u0e19\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e19\u0e35\u0e49 \u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e44\u0e14\u0e49\u0e43\u0e19 web.xml \u0e04\u0e38\u0e13\u0e08\u0e36\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e1a\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e44\u0e14\u0e49\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e22\u0e37\u0e14\u0e2b\u0e22\u0e38\u0e48\u0e19\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e0b\u0e2d\u0e23\u0e4c\u0e2a\u0e42\u0e04\u0e49\u0e14\n<\/p>\n<p><script type=\"text\/javascript\" src=\"https:\/\/chat-messenger.com\/js\/common.js?dd12sssas2223\" charset=\"UTF-8\"><\/script><br \/>\n<script type=\"text\/javascript\"> writePR(); <\/script><\/p>\n<h2 class=\"common_title\"><a name=\"2\">\u0e25\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<\/a><\/h2>\n<p>\u0e25\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e23\u0e2d\u0e07\u0e04\u0e33\u0e02\u0e2d HTTP \u0e41\u0e25\u0e30\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e04\u0e33\u0e02\u0e2d\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19<br \/>\n\u0e40\u0e27\u0e25\u0e32\u0e19\u0e35\u0e49<a href=\"http:\/\/tomcat.apache.org\/\" target=\"_blank\">\u0e41\u0e21\u0e27\u0e15\u0e31\u0e27\u0e1c\u0e39\u0e49<\/a>\u0e40\u0e23\u0e32\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48\u0e15\u0e49\u0e19<br \/>\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e19\u0e35\u0e49\u0e44\u0e14\u0e49\u0e17\u0e31\u0e19\u0e17\u0e35\u0e42\u0e14\u0e22\u0e17\u0e33\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p>\n<div class=\"point\">\n1.<a href=\"#4\"><strong>\u0e23\u0e2b\u0e31\u0e2a\u0e41\u0e2b\u0e25\u0e48\u0e07\u0e17\u0e35\u0e48\u0e21\u0e32<\/strong><\/a>\u0e23\u0e31\u0e1a\u0e41\u0e25\u0e30\u0e04\u0e2d\u0e21\u0e44\u0e1e\u0e25\u0e4c<br \/>\n2. \u0e27\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e04\u0e25\u0e32\u0e2a\u0e17\u0e35\u0e48\u0e04\u0e2d\u0e21\u0e44\u0e1e\u0e25\u0e4c\u0e44\u0e27\u0e49\u0e43\u0e15\u0e49 &quot;\/examples\/WEB-INF\/classes&quot;<br \/>\n3.\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e04\u0e33\u0e08\u0e33\u0e01\u0e31\u0e14\u0e04\u0e27\u0e32\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49\u0e43\u0e19 web.xml\n<\/div>\n<pre class=\"sample_src\">  LogFilter LogFilter \u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e23\u0e30\u0e14\u0e31\u0e1a \u0e14\u0e35 LogFilter \/*\r\n<\/pre>\n<p>*\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a URL \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e40\u0e1f\u0e23\u0e21\u0e40\u0e27\u0e34\u0e23\u0e4c\u0e01 Struts \u0e40\u0e1b\u0e47\u0e19\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n<pre class=\"sample_src\">   *.\u0e17\u0e33\r\n<\/pre>\n<p>\n\u0e42\u0e1b\u0e23\u0e14\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19<br \/>\n<img src=\"https:\/\/chat-messenger.com\/images\/SessionsExample.jpg\" alt=\"\u0e01\u0e32\u0e23\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e14\u0e49\u0e27\u0e22\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 javax.servlet.Filter\" border=\"0\"><br \/>\n<br clear=\"all\"><\/p>\n<h2 class=\"common_title\"><a name=\"3\">\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e2d\u0e32\u0e15\u0e4c\u0e1e\u0e38\u0e15\u0e41\u0e25\u0e30\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<\/a><\/h2>\n<p><strong>\u25cf\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e19\u0e37\u0e49\u0e2d\u0e2b\u0e32\u0e40\u0e2d\u0e32\u0e15\u0e4c\u0e1e\u0e38\u0e15<\/strong><\/p>\n<table border=\"1\">\n<tbody>\n<tr bgcolor=\"#FFFF80\">\n<th>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<\/th>\n<th>\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<\/th>\n<\/tr>\n<tr>\n<td><strong>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49<\/strong><\/td>\n<td>\u0e14\u0e35<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 HTTP<\/strong><\/td>\n<td>\u0e14\u0e35<\/td>\n<\/tr>\n<tr>\n<td><strong>HTTP\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2d\u0e37\u0e48\u0e19\u0e46<\/strong><\/td>\n<td>\u0e14\u0e35<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0e1e\u0e32\u0e23\u0e32\u0e21\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e04\u0e33\u0e02\u0e2d HTTP<\/strong><\/td>\n<td>\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e04\u0e48\u0e32<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0e02\u0e2d\u0e27\u0e31\u0e15\u0e16\u0e38\u0e02\u0e2d\u0e1a\u0e40\u0e02\u0e15<\/strong><\/td>\n<td>\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e04\u0e48\u0e32<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0e27\u0e31\u0e15\u0e16\u0e38\u0e17\u0e35\u0e48\u0e21\u0e35\u0e02\u0e2d\u0e1a\u0e40\u0e02\u0e15\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19<\/strong><\/td>\n<td>\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e04\u0e48\u0e32<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e04\u0e27\u0e32\u0e21\u0e08\u0e33\u0e01\u0e48\u0e2d\u0e19\u0e41\u0e25\u0e30\u0e2b\u0e25\u0e31\u0e07\u0e04\u0e33\u0e02\u0e2d<\/strong><\/td>\n<td>\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e04\u0e48\u0e32<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d<\/strong><\/td>\n<td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<p>\u0e27\u0e34\u0e18\u0e35\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e04\u0e37\u0e2d\u0e43\u0e0a\u0e49\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p>\n<ul>\n<li>FINE: \u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e17\u0e35\u0e48\u0e21\u0e35\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e21\u0e32\u0e01\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14 \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e19\u0e35\u0e49\u0e2b\u0e32\u0e01\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e04\u0e33\u0e02\u0e2d HTTP \u0e42\u0e14\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14<\/li>\n<li>CONFIG... \u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e17\u0e35\u0e48\u0e21\u0e35\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e04\u0e48\u0e2d\u0e19\u0e02\u0e49\u0e32\u0e07\u0e21\u0e32\u0e01 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e27\u0e32\u0e21\u0e04\u0e34\u0e14\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e08\u0e30\u0e23\u0e31\u0e01\u0e29\u0e32\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e19\u0e35\u0e49\u0e44\u0e27\u0e49\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e23\u0e30\u0e22\u0e30\u0e40\u0e27\u0e25\u0e32\u0e01\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32<\/li>\n<li>INFO: \u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d<\/li>\n<\/ul>\n<p><strong>\u25cf\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<\/strong><br \/>\n\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e40\u0e2d\u0e32\u0e15\u0e4c\u0e1e\u0e38\u0e15\u0e02\u0e2d\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e1e\u0e32\u0e23\u0e32\u0e21\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e01\u0e32\u0e23\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19 logging.Level<br \/>\n\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07:<\/p>\n<pre class=\"sample_src\">   \u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e23\u0e30\u0e14\u0e31\u0e1a \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\r\n<\/pre>\n\n<h2 class=\"common_title\"><a name=\"4\">\u0e23\u0e2b\u0e31\u0e2a\u0e41\u0e2b\u0e25\u0e48\u0e07\u0e17\u0e35\u0e48\u0e21\u0e32<\/a><\/h2>\n<p><textarea readonly=\"readonly\" style=\"font-size: 13px;height: 400px;\" class=\"src\" onclick=\"this.focus();this.select()\">import java.io.IOException;<br \/>\nimport java.io.UnsupportedEncodingException;<br \/>\nimport java.sql.Time;<br \/>\nimport java.text.DecimalFormat;<br \/>\nimport java.text.SimpleDateFormat;<br \/>\nimport java.util.Date;<br \/>\nimport java.util.Enumeration;<br \/>\nimport java.util.Hashtable;<br \/>\nimport java.util.Iterator;<br \/>\nimport java.util.Map;<br \/>\nimport java.util.TreeMap;<br \/>\nimport java.util.logging.Formatter;<br \/>\nimport java.util.logging.Handler;<br \/>\nimport java.util.logging.Level;<br \/>\nimport java.util.logging.LogManager;<br \/>\nimport java.util.logging.LogRecord;<br \/>\nimport java.util.logging.Logger;<br \/>\nimport java.util.logging.StreamHandler;<\/p>\n<p>\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.servlet.Filter;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.servlet.FilterChain;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.servlet.FilterConfig;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.servlet.ServletException;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.servlet.ServletRequest;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.servlet.ServletResponse;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.servlet.http.Cookie;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.servlet.http.HttpServletRequest;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.servlet.http.HttpServletResponse;<br \/>\n\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 javax.servlet.http.HttpSession;<\/p>\n<p>\/**<br \/>\n * \u0e43\u0e0a\u0e49 javax.servlet.Filter \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e40\u0e19\u0e37\u0e49\u0e2d\u0e2b\u0e32\u0e02\u0e2d\u0e07\u0e04\u0e33\u0e02\u0e2d HTTP \u0e41\u0e25\u0e30\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e2d\u0e32\u0e15\u0e4c\u0e1e\u0e38\u0e15<br \/>\n * \u0e04\u0e25\u0e32\u0e2a\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07<br \/>\n *\/<br \/>\nLogFilter \u0e04\u0e25\u0e32\u0e2a\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e43\u0e0a\u0e49\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07 {<\/p>\n<p>    \u0e15\u0e31\u0e27\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 Logger \u0e41\u0e1a\u0e1a\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 =<br \/>\n        Logger.getLogger(LogFilter.class.getName());<br \/>\n    \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e2a\u0e38\u0e14\u0e17\u0e49\u0e32\u0e22\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 LINE_SEPA =<br \/>\n        System.getProperty(&quot;line.separator&quot;);<br \/>\n    \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e2a\u0e38\u0e14\u0e17\u0e49\u0e32\u0e22\u0e41\u0e1a\u0e1a\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 NEXT_PAGE = \u201cLogFilter.NEXT_PAGE\u201d;<\/p>\n<p>    \/**<br \/>\n     * \u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e19\u0e35\u0e49<br \/>\n     * \u0e01\u0e32\u0e23\u0e17\u0e33\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48 @param<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 init (\u0e01\u0e32\u0e23\u0e41\u0e21\u0e1b FilterConfig) {<br \/>\n        \u0e2a\u0e15\u0e23\u0e34\u0e07 str = mapping.getInitParameter(&quot;logging.Level&quot;);<br \/>\n        System.out.println (\u201c\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e1b\u0e47\u0e19 \u201c+str+\u201d.\u201d);<br \/>\n        \u0e23\u0e30\u0e14\u0e31\u0e1a\u0e23\u0e30\u0e14\u0e31\u0e1a = null;<br \/>\n        \u0e1e\u0e22\u0e32\u0e22\u0e32\u0e21 {<br \/>\n            \u0e23\u0e30\u0e14\u0e31\u0e1a = \u0e23\u0e30\u0e14\u0e31\u0e1a.parse(str);<br \/>\n        } \u0e08\u0e31\u0e1a (\u0e02\u0e49\u0e2d\u0e22\u0e01\u0e40\u0e27\u0e49\u0e19\u0e08) {<br \/>\n            e.printStackTrace();<br \/>\n            \u0e23\u0e30\u0e14\u0e31\u0e1a = \u0e23\u0e30\u0e14\u0e31\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25;<br \/>\n        }<br \/>\n        LogManager.getLogManager().\u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15();<br \/>\n        \u0e15\u0e31\u0e27\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e15\u0e31\u0e27\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23 = CustomConsoleHandler \u0e43\u0e2b\u0e21\u0e48 ();<br \/>\n        handler.setFormatter (CustomFormatter \u0e43\u0e2b\u0e21\u0e48 ());<br \/>\n        handler.setLevel (\u0e23\u0e30\u0e14\u0e31\u0e1a);<br \/>\n        logger.setLevel (\u0e23\u0e30\u0e14\u0e31\u0e1a);<br \/>\n        logger.getParent().addHandler(\u0e15\u0e31\u0e27\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23);<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<br \/>\n     * @param \u0e23\u0e49\u0e2d\u0e07\u0e02\u0e2d\u0e04\u0e33\u0e02\u0e2d HTTP \u0e01\u0e33\u0e25\u0e31\u0e07\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25<br \/>\n     * @param \u0e01\u0e32\u0e23\u0e15\u0e2d\u0e1a\u0e2a\u0e19\u0e2d\u0e07 \u0e01\u0e32\u0e23\u0e15\u0e2d\u0e1a\u0e2a\u0e19\u0e2d\u0e07 HTTP \u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19<br \/>\n     * @param chain<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 doFilter (ServletRequest _request, ServletResponse _response,<br \/>\n            \u0e2a\u0e32\u0e22\u0e42\u0e0b\u0e48 FilterChain) \u0e1e\u0e48\u0e19 IOException, ServletException {<\/p>\n<p>        \/\/ --------------------&quot; \u0e01\u0e33\u0e25\u0e31\u0e07\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e25\u0e48\u0e27\u0e07\u0e2b\u0e19\u0e49\u0e32 &quot;<br \/>\n        \u0e04\u0e33\u0e02\u0e2d HttpServletRequest = (HttpServletRequest) _request;<br \/>\n        \u0e01\u0e32\u0e23\u0e15\u0e2d\u0e1a\u0e2a\u0e19\u0e2d\u0e07 HttpServletResponse = (HttpServletResponse) _response;<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a. CONFIG)) {<br \/>\n            logger.config(<br \/>\n                \u201c============ \u0e40\u0e23\u0e34\u0e48\u0e21\u0e04\u0e33\u0e02\u0e2d!!\u201d<br \/>\n                +\u201d\u0e23\u0e2b\u0e31\u0e2a\u0e40\u0e18\u0e23\u0e14:\u201d<br \/>\n                + Thread.currentThread().hashCode()<br \/>\n                + &#8221; ========================================================&#8221;);<br \/>\n        }<br \/>\n        \/\/ \u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e32\u0e21\u0e08\u0e33<br \/>\n        \u0e2a\u0e15\u0e23\u0e34\u0e07 actionMemory = null;<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a. CONFIG)) {<br \/>\n            actionMemory = getMemoryInfo(\u201d \u201d<br \/>\n                    + \u0e40\u0e27\u0e25\u0e32\u0e43\u0e2b\u0e21\u0e48 (System.currentTimeMillis ()) + \u201d \u0e04\u0e33\u0e02\u0e2d [\u0e01\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32]\u201d);<br \/>\n        }<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a FINE)) {<br \/>\n            logger.fine(\u201c\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49\u201d + getCookieInfo(\u0e04\u0e33\u0e02\u0e2d));<br \/>\n        }<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a FINE)) {<br \/>\n            logger.fine(&quot;\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 HTTP&quot; + getHeadersInfo(\u0e04\u0e33\u0e02\u0e2d));<br \/>\n        }<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a FINE)) {<br \/>\n            \u0e04\u0e19\u0e15\u0e31\u0e14\u0e44\u0e21\u0e49<br \/>\n                    .fine(\u201c\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 HTTP \u0e2d\u0e37\u0e48\u0e19 \u0e46\u201d + getRequestOtherInfo(\u0e04\u0e33\u0e02\u0e2d));<br \/>\n        }<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a. CONFIG)) {<br \/>\n            \u0e2a\u0e15\u0e23\u0e34\u0e07 reqlog = getRequestParametersInfo (\u0e04\u0e33\u0e02\u0e2d);<br \/>\n            logger.config (\u201c\u0e1e\u0e32\u0e23\u0e32\u0e21\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e04\u0e33\u0e02\u0e2d HTTP\u201d + reqlog);<br \/>\n        }<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a. CONFIG)) {<br \/>\n            logger.config(\u201c\u0e27\u0e31\u0e15\u0e16\u0e38\u0e02\u0e2d\u0e1a\u0e40\u0e02\u0e15\u0e04\u0e33\u0e02\u0e2d\u201d<br \/>\n                    + getRequestAttributeInfo (\u0e04\u0e33\u0e02\u0e2d));<br \/>\n        }<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a. CONFIG)) {<br \/>\n            String sessionlog = getSessionInfo (\u0e04\u0e33\u0e02\u0e2d, \u0e08\u0e23\u0e34\u0e07);<br \/>\n            logger.config(&quot;\u0e27\u0e31\u0e15\u0e16\u0e38\u0e02\u0e2d\u0e1a\u0e40\u0e02\u0e15\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19 (\u0e01\u0e48\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e04\u0e33\u0e02\u0e2d)&quot;<br \/>\n                    + \u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19);<br \/>\n        }<\/p>\n<p>        \/\/ \u0e40\u0e23\u0e35\u0e22\u0e01\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b<br \/>\n        chain.doFilter (\u0e04\u0e33\u0e02\u0e2d, \u0e15\u0e2d\u0e1a\u0e01\u0e25\u0e31\u0e1a);<\/p>\n<p>        \/\/ \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014- \u201c\u0e2b\u0e25\u0e31\u0e07\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u201d<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a. CONFIG)) {<br \/>\n            String sessionlog = getSessionInfo (\u0e04\u0e33\u0e02\u0e2d, \u0e40\u0e17\u0e47\u0e08);<br \/>\n            logger.config(&quot;\u0e27\u0e31\u0e15\u0e16\u0e38\u0e02\u0e2d\u0e1a\u0e40\u0e02\u0e15\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19 (\u0e2b\u0e25\u0e31\u0e07\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e04\u0e33\u0e02\u0e2d)&quot;<br \/>\n                    + \u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19);<br \/>\n        }<br \/>\n        \/\/ \u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e32\u0e21\u0e08\u0e33<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a. CONFIG)) {<br \/>\n            actionMemory = \u201d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e04\u0e27\u0e32\u0e21\u0e08\u0e33\u0e01\u0e48\u0e2d\u0e19\u0e41\u0e25\u0e30\u0e2b\u0e25\u0e31\u0e07\u0e04\u0e33\u0e02\u0e2d\u201d+LINE_SEPA<br \/>\n                    + actionMemory + LINE_SEPA<br \/>\n                    + getMemoryInfo(\u201d \u201d + \u0e40\u0e27\u0e25\u0e32\u0e43\u0e2b\u0e21\u0e48 (System.currentTimeMillis())<br \/>\n                            + \u201d\u0e04\u0e33\u0e02\u0e2d[\u0e2b\u0e25\u0e31\u0e07]\u201d);<br \/>\n            logger.config(actionMemory+LINE_SEPA);<\/p>\n<p>        }<br \/>\n        \/\/ \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a.INFO)) {<br \/>\n            \u0e2a\u0e15\u0e23\u0e34\u0e07 nextPage = (\u0e2a\u0e15\u0e23\u0e34\u0e07) request.getAttribute(NEXT_PAGE);<br \/>\n            \u0e16\u0e49\u0e32 (\u0e2b\u0e19\u0e49\u0e32\u0e16\u0e31\u0e14\u0e44\u0e1b == null || \u0e2b\u0e19\u0e49\u0e32\u0e16\u0e31\u0e14\u0e44\u0e1b\u0e04\u0e27\u0e32\u0e21\u0e22\u0e32\u0e27 () == 0) {<br \/>\n                \u0e2b\u0e19\u0e49\u0e32\u0e16\u0e31\u0e14\u0e44\u0e1b = request.getRequestURI();<br \/>\n            }<br \/>\n            logger.info(\u201cNEXT_PAGE=[\u201d + \u0e2b\u0e19\u0e49\u0e32\u0e16\u0e31\u0e14\u0e44\u0e1b + \u201c], \u201d<br \/>\n                    + \u201cIP_ADDRESS=[\u201d + request.getRemoteAddr() + \u201c], \u201d<br \/>\n                    + \u201cSESSION_ID=[\u201d + request.getSession().getId() + \u201c], \u201d<br \/>\n                    + \u201cUSER-AGENT=[\u201d + request.getHeader(\u201cuser-agent\u201d) + \u201c]\u201d);<br \/>\n        }<br \/>\n        \u0e16\u0e49\u0e32 (logger.isLoggable (\u0e23\u0e30\u0e14\u0e31\u0e1a. CONFIG)) {<br \/>\n            logger.config(<br \/>\n                \u201c============ \u0e2a\u0e34\u0e49\u0e19\u0e2a\u0e38\u0e14\u0e04\u0e33\u0e02\u0e2d!!\u201d<br \/>\n                +\u201d\u0e23\u0e2b\u0e31\u0e2a\u0e40\u0e18\u0e23\u0e14:\u201d+ Thread.currentThread().hashCode()<br \/>\n                + &#8221; =========================================================&#8221;<br \/>\n                +LINE_SEPA+LINE_SEPA);<br \/>\n        }<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     *<br \/>\n     *\/<br \/>\n    \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e17\u0e33\u0e25\u0e32\u0e22 () {<br \/>\n    }<\/p>\n<p>    \/\/ \u30fc\u30fc\u30fc\u30fc\u30fc\u30fc\u30fc\u30fc\u30fc\u30fc\u30fc \u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07<br \/>\n    getMemoryInfo \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 (\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e15\u0e23\u0e34\u0e07) {<br \/>\n        DecimalFormat dFromat = \u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e17\u0e28\u0e19\u0e34\u0e22\u0e21\u0e43\u0e2b\u0e21\u0e48 (\u201c#,###KB\u201d);<br \/>\n        \u0e1f\u0e23\u0e35\u0e22\u0e32\u0e27 = Runtime.getRuntime().freeMemory() \/ 1024;<br \/>\n        \u0e23\u0e27\u0e21\u0e22\u0e32\u0e27 = Runtime.getRuntime().totalMemory() \/ 1024;<br \/>\n        \u0e22\u0e32\u0e27\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 = Runtime.getRuntime().maxMemory() \/ 1024;<br \/>\n        \u0e43\u0e0a\u0e49\u0e19\u0e32\u0e19 = \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 \u2013 \u0e1f\u0e23\u0e35;<br \/>\n        \u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e15\u0e23\u0e34\u0e07 = \u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21 + \u201d : \u201d + \u201ctotal=\u201d + dFromat.format(total) + \u201c, \u201d<br \/>\n                + \u201c\u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e41\u0e25\u0e49\u0e27=\u201d + dFromat.format(\u0e43\u0e0a\u0e49\u0e41\u0e25\u0e49\u0e27) + \u201d (\u201d + (\u0e43\u0e0a\u0e49\u0e41\u0e25\u0e49\u0e27 * 100 \/ \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14)<br \/>\n                + \u201c%) \u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48=\u201d + dFromat.format(\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14);<br \/>\n        \u0e01\u0e25\u0e31\u0e1a\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21;<br \/>\n    }<br \/>\n    \/**<br \/>\n     * \u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27\u0e04\u0e33\u0e02\u0e2d\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<br \/>\n     *\/<br \/>\n    \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 getHeadersInfo (\u0e04\u0e33\u0e02\u0e2d HttpServletRequest) {<br \/>\n        \u0e1a\u0e31\u0e1f StringBuffer = StringBuffer \u0e43\u0e2b\u0e21\u0e48 (LINE_SEPA);<br \/>\n        \u0e01\u0e32\u0e23\u0e41\u0e08\u0e07\u0e19\u0e31\u0e1a headerNames = request.getHeaderNames();<br \/>\n        \u0e43\u0e19\u0e02\u0e13\u0e30\u0e17\u0e35\u0e48 (headerNames.hasMoreElements()) {<br \/>\n            \u0e2a\u0e15\u0e23\u0e34\u0e07 headerName = (\u0e2a\u0e15\u0e23\u0e34\u0e07) headerNames.nextElement();<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201d \u201c);<br \/>\n            buff.append(\u0e0a\u0e37\u0e48\u0e2d\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201c=\u201d);<br \/>\n            buff.append(request.getHeader(\u0e0a\u0e37\u0e48\u0e2d\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27));<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        }<br \/>\n        \u0e01\u0e25\u0e31\u0e1a buff.toString();<br \/>\n    }<br \/>\n    \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 getCookieInfo (\u0e04\u0e33\u0e02\u0e2d HttpServletRequest) {<br \/>\n        \u0e1a\u0e31\u0e1f StringBuffer = StringBuffer \u0e43\u0e2b\u0e21\u0e48 ();<br \/>\n        \u0e04\u0e38\u0e01\u0e01\u0e35\u0e49[] \u0e04\u0e38\u0e01\u0e01\u0e35\u0e49 = request.getCookies();<br \/>\n        \u0e16\u0e49\u0e32 (\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49 == null) {<br \/>\n            \u0e01\u0e25\u0e31\u0e1a &quot;&quot;;<br \/>\n        }<br \/>\n        \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a (int i = 0; i &lt; Cookies.length; i++) {<br \/>\n            buff.append(\u201c\\n \u2014 \u0e04\u0e38\u0e01\u0e01\u0e35\u0e49[\u201d + i + \u201c] \u2014\\n\u201d);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201d \u201c);<br \/>\n            buff.append(\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49[i].getName());<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201c=\u201d);<br \/>\n            buff.append(\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49[i].getValue());<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201d \u201c);<br \/>\n            buff.append(\u201cgetVersion()\u201d);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201c=\u201d);<br \/>\n            buff.append(\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49[i].getVersion());<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201d \u201c);<br \/>\n            buff.append(\u201cgetComment()\u201d);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201c=\u201d);<br \/>\n            buff.append(\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49[i].getComment());<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201d \u201c);<br \/>\n            buff.append(\u201cgetDomain()\u201d);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201c=\u201d);<br \/>\n            buff.append(\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49[i].getDomain());<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201d \u201c);<br \/>\n            buff.append(\u201cgetMaxAge()\u201d);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201c=\u201d);<br \/>\n            buff.append(\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49[i].getMaxAge());<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201d \u201c);<br \/>\n            buff.append(\u201cgetPath()\u201d);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201c=\u201d);<br \/>\n            buff.append(\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49[i].getPath());<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201d \u201c);<br \/>\n            buff.append(\u201cgetSecure()\u201d);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201c=\u201d);<br \/>\n            buff.append(\u0e04\u0e38\u0e01\u0e01\u0e35\u0e49[i].getSecure());<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        }<br \/>\n        \u0e01\u0e25\u0e31\u0e1a buff.toString();<br \/>\n    }<br \/>\n    \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 getRequestParametersInfo (\u0e04\u0e33\u0e02\u0e2d HttpServletRequest) {<br \/>\n        \u0e1a\u0e31\u0e1f StringBuffer = StringBuffer \u0e43\u0e2b\u0e21\u0e48 (LINE_SEPA);<br \/>\n        \u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48 \u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48 = \u0e41\u0e1b\u0e25\u0e07\u0e04\u0e33\u0e02\u0e2d (\u0e04\u0e33\u0e02\u0e2d);<br \/>\n        TreeMap trr = TreeMap \u0e43\u0e2b\u0e21\u0e48 (\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48);<br \/>\n        \u0e15\u0e31\u0e27\u0e27\u0e19\u0e0b\u0e49\u0e33 itr = trr.keySet().\u0e15\u0e31\u0e27\u0e27\u0e19\u0e0b\u0e49\u0e33();<br \/>\n        \u0e43\u0e19\u0e02\u0e13\u0e30\u0e17\u0e35\u0e48 (itr.hasNext()) {<br \/>\n            \u0e04\u0e35\u0e22\u0e4c\u0e2a\u0e15\u0e23\u0e34\u0e07 = (\u0e2a\u0e15\u0e23\u0e34\u0e07) itr.next();<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201d \u201c);<br \/>\n            buff.append (\u0e04\u0e35\u0e22\u0e4c);<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(\u201c=\u201d);<br \/>\n            \u0e04\u0e48\u0e32\u0e27\u0e31\u0e15\u0e16\u0e38 = map.get (\u0e04\u0e35\u0e22\u0e4c);<br \/>\n            \u0e04\u0e48\u0e32\u0e2a\u0e15\u0e23\u0e34\u0e07 [] = \u0e04\u0e48\u0e32 (\u0e2a\u0e15\u0e23\u0e34\u0e07 []);<br \/>\n            \u0e16\u0e49\u0e32 (values.length == 1) {<br \/>\n                buff.append(\u0e04\u0e48\u0e32[0]);<br \/>\n            } \u0e2d\u0e37\u0e48\u0e19 {<br \/>\n                \/\/ \u0e2d\u0e32\u0e23\u0e4c\u0e40\u0e23\u0e22\u0e4c\u0e2a\u0e15\u0e23\u0e34\u0e07\u0e16\u0e39\u0e01\u0e41\u0e1b\u0e25\u0e07<br \/>\n                \u0e2a\u0e15\u0e23\u0e34\u0e07 strValue = \u0e0a\u0e31\u0e49\u0e19 (\u0e04\u0e48\u0e32);<br \/>\n                buff.\u0e1c\u0e19\u0e27\u0e01(strValue);<br \/>\n            }<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        }<br \/>\n        \u0e01\u0e25\u0e31\u0e1a buff.toString();<br \/>\n    }<br \/>\n    \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 getRequestAttributeInfo (\u0e04\u0e33\u0e02\u0e2d HttpServletRequest) {<br \/>\n        \u0e1a\u0e31\u0e1f StringBuffer = StringBuffer \u0e43\u0e2b\u0e21\u0e48 (LINE_SEPA);<br \/>\n        \u0e01\u0e32\u0e23\u0e41\u0e08\u0e07\u0e19\u0e31\u0e1a e = request.getAttributeNames();<br \/>\n        \u0e43\u0e19\u0e02\u0e13\u0e30\u0e17\u0e35\u0e48 (e.hasMoreElements()) {<br \/>\n            \u0e0a\u0e37\u0e48\u0e2d\u0e2a\u0e15\u0e23\u0e34\u0e07 = (\u0e2a\u0e15\u0e23\u0e34\u0e07) e.nextElement();<br \/>\n            buff.append(\u201d \u0e0a\u0e37\u0e48\u0e2d=\u201d + \u0e0a\u0e37\u0e48\u0e2d + \u201c, \u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30Class=\u201d<br \/>\n                    + request.getAttribute(\u0e0a\u0e37\u0e48\u0e2d).getClass().getName()<br \/>\n                    + \u201c, toString() = \u201d + request.getAttribute(\u0e0a\u0e37\u0e48\u0e2d)<br \/>\n                    + LINE_SEPA);<br \/>\n        }<br \/>\n        \u0e01\u0e25\u0e31\u0e1a buff.toString();<br \/>\n    }<br \/>\n    \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 getRequestOtherInfo (\u0e04\u0e33\u0e02\u0e2d HttpServletRequest) {<br \/>\n        \u0e1a\u0e31\u0e1f StringBuffer = StringBuffer \u0e43\u0e2b\u0e21\u0e48 ();<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetCharacterEncoding()=\u201d);<br \/>\n        buff.append(request.getCharacterEncoding());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetContentLength()=\u201d);<br \/>\n        buff.append(request.getContentLength());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetContentType()=\u201d);<br \/>\n        buff.append(request.getContentType());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetLocale()=\u201d);<br \/>\n        buff.append(request.getLocale());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetProtocol()=\u201d);<br \/>\n        buff.append(request.getProtocol());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetRemoteAddr()=\u201d);<br \/>\n        buff.append(request.getRemoteAddr());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetRemoteHost()=\u201d);<br \/>\n        buff.append(request.getRemoteHost());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetScheme()=\u201d);<br \/>\n        buff.append(request.getScheme());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetServerName()=\u201d);<br \/>\n        buff.append(request.getServerName());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetServerPort()=\u201d);<br \/>\n        buff.append(request.getServerPort());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201disSecure()=\u201d);<br \/>\n        buff.append(\u0e04\u0e33\u0e02\u0e2d.isSecure());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetAuthType()=\u201d);<br \/>\n        buff.append(request.getAuthType());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetContextPath()=\u201d);<br \/>\n        buff.append(request.getContextPath());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetMethod()=\u201d);<br \/>\n        buff.append(request.getMethod());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetPathInfo()=\u201d);<br \/>\n        buff.append(request.getPathInfo());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetPathTranslated()=\u201d);<br \/>\n        buff.append(request.getPathTranslated());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetQueryString()=\u201d);<br \/>\n        buff.append(request.getQueryString());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetRemoteUser()=\u201d);<br \/>\n        buff.append(request.getRemoteUser());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetRequestedSessionId()=\u201d);<br \/>\n        buff.append(request.getRequestedSessionId());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetRequestURI()=\u201d);<br \/>\n        buff.append(request.getRequestURI());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetServletPath()=\u201d);<br \/>\n        buff.append(request.getServletPath());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201dgetUserPrincipal()=\u201d);<br \/>\n        buff.append(request.getUserPrincipal());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201disRequestedSessionIdFromCookie()=\u201d);<br \/>\n        buff.append(request.isRequestedSessionIdFromCookie());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201disRequestedSessionIdFromURL()=\u201d);<br \/>\n        buff.append(request.isRequestedSessionIdFromURL());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        buff.append(\u201disRequestedSessionIdValid()=\u201d);<br \/>\n        buff.append(request.isRequestedSessionIdValid());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        \u0e01\u0e25\u0e31\u0e1a buff.toString();<br \/>\n    }<\/p>\n<p>    \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 getSessionInfo (\u0e04\u0e33\u0e02\u0e2d HttpServletRequest, \u0e1a\u0e39\u0e25\u0e35\u0e19\u0e01\u0e48\u0e2d\u0e19) {<br \/>\n        \u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19 HttpSession = request.getSession();<br \/>\n        \u0e1a\u0e31\u0e1f StringBuffer = StringBuffer \u0e43\u0e2b\u0e21\u0e48 ();<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        \u0e16\u0e49\u0e32 (\u0e01\u0e48\u0e2d\u0e19) {<br \/>\n            buff.append(\u201d session.isNew() = \u201d + session.isNew());<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n            buff.append(\u201d session.getId() = \u201d + session.getId());<br \/>\n            buff.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n        }<br \/>\n        \u0e01\u0e32\u0e23\u0e41\u0e08\u0e07\u0e19\u0e31\u0e1a e = session.getAttributeNames();<br \/>\n        \u0e43\u0e19\u0e02\u0e13\u0e30\u0e17\u0e35\u0e48 (e.hasMoreElements()) {<br \/>\n            \u0e2a\u0e15\u0e23\u0e34\u0e07 sessionName = (\u0e2a\u0e15\u0e23\u0e34\u0e07) e.nextElement();<br \/>\n            \u0e2a\u0e15\u0e23\u0e34\u0e07 sessionClassName = session.getAttribute (sessionName)<br \/>\n                    .getClass().getName();<br \/>\n            buff.append(\u201d name =\u201d + sessionName + \u201c, value =\u201d<br \/>\n                    + session.getAttribute(\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e0b\u0e2a\u0e0a\u0e31\u0e19) + \u201c, \u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30Class = \u201d<br \/>\n                    + sessionClassName+LINE_SEPA);<br \/>\n        }<br \/>\n        \u0e01\u0e25\u0e31\u0e1a buff.toString();<br \/>\n    }<\/p>\n<p>    \u0e04\u0e33\u0e02\u0e2d\u0e41\u0e1b\u0e25\u0e07 Hashtable \u0e41\u0e1a\u0e1a\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 (\u0e04\u0e33\u0e02\u0e2d HttpServletRequest) {<br \/>\n        Hashtable tempHash = \u0e43\u0e2b\u0e21\u0e48 Hashtable();<br \/>\n        \u0e01\u0e32\u0e23\u0e41\u0e08\u0e07\u0e19\u0e31\u0e1a e = request.getParameterNames();<br \/>\n        \u0e43\u0e19\u0e02\u0e13\u0e30\u0e17\u0e35\u0e48 (e.hasMoreElements()) {<br \/>\n            \u0e04\u0e35\u0e22\u0e4c\u0e2a\u0e15\u0e23\u0e34\u0e07 = (\u0e2a\u0e15\u0e23\u0e34\u0e07) e.nextElement();<br \/>\n            \u0e04\u0e48\u0e32\u0e2a\u0e15\u0e23\u0e34\u0e07 [] = request.getParameterValues (\u0e04\u0e35\u0e22\u0e4c);<br \/>\n            String[] parameterValues = \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e43\u0e2b\u0e21\u0e48 [values.length];<br \/>\n            \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a (int i = 0; i &lt;values.length; i++) {<br \/>\n                \u0e04\u0e48\u0e32\u0e1e\u0e32\u0e23\u0e32\u0e21\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c [i] = convUnicode (\u0e04\u0e48\u0e32 [i]);<br \/>\n            }<br \/>\n            tempHash.put (\u0e04\u0e35\u0e22\u0e4c, \u0e04\u0e48\u0e32\u0e1e\u0e32\u0e23\u0e32\u0e21\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c);<br \/>\n        }<br \/>\n        \u0e01\u0e25\u0e31\u0e1a tempHash;<\/p>\n<p>    }<br \/>\n    \u0e0a\u0e31\u0e49\u0e19\u0e2a\u0e15\u0e23\u0e34\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 (\u0e04\u0e48\u0e32\u0e27\u0e31\u0e15\u0e16\u0e38) {<br \/>\n        \u0e16\u0e49\u0e32 (\u0e04\u0e48\u0e32 == null) {<br \/>\n            \u0e2a\u0e48\u0e07\u0e04\u0e37\u0e19 &quot;\u0e42\u0e21\u0e06\u0e30&quot;;<br \/>\n        } \u0e2d\u0e37\u0e48\u0e19\u0e16\u0e49\u0e32 (\u0e04\u0e48\u0e32\u0e2d\u0e34\u0e19\u0e2a\u0e41\u0e15\u0e19\u0e0b\u0e4c\u0e02\u0e2d\u0e07\u0e2a\u0e15\u0e23\u0e34\u0e07 []) {<br \/>\n            \u0e01\u0e25\u0e31\u0e1a\u0e04\u0e48\u0e32 convString ((\u0e2a\u0e15\u0e23\u0e34\u0e07 []));<br \/>\n        } \u0e2d\u0e37\u0e48\u0e19 {<br \/>\n            \u0e2a\u0e48\u0e07\u0e04\u0e37\u0e19\u0e04\u0e48\u0e32.toString();<br \/>\n        }<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e2a\u0e48\u0e07\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e19\u0e37\u0e49\u0e2d\u0e2b\u0e32\u0e02\u0e2d\u0e07\u0e2d\u0e32\u0e23\u0e4c\u0e40\u0e23\u0e22\u0e4c\u0e2a\u0e15\u0e23\u0e34\u0e07 [strArray] \u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e15\u0e23\u0e34\u0e07\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e1a\u0e17\u0e35\u0e48\u0e41\u0e2a\u0e14\u0e07\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07<br \/>\n     * &quot;[temp1,temp2,temp3]&quot;<br \/>\n     * @param strArray \u0e2d\u0e32\u0e23\u0e4c\u0e40\u0e23\u0e22\u0e4c\u0e2a\u0e15\u0e23\u0e34\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e1b\u0e23\u0e30\u0e40\u0e21\u0e34\u0e19<br \/>\n     * @return String \u0e2b\u0e25\u0e31\u0e07\u0e01\u0e32\u0e23\u0e41\u0e1b\u0e25\u0e07<br \/>\n     *\/<br \/>\n    convString \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 (\u0e2a\u0e15\u0e23\u0e34\u0e07 [] strArray) {<br \/>\n        \u0e16\u0e49\u0e32 (strArray == null)<br \/>\n            \u0e01\u0e25\u0e31\u0e1a\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30;<br \/>\n        \u0e1a\u0e31\u0e1f StringBuffer = StringBuffer \u0e43\u0e2b\u0e21\u0e48 (\u201c[\u201c);<br \/>\n        \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a (int i = 0; i &lt; strArray.length; i++) {<br \/>\n            buff.append(strArray[i] + \u201c, \u201c);<br \/>\n        }<br \/>\n        buff.delete(\u0e1a\u0e31\u0e1f\u0e04\u0e27\u0e32\u0e21\u0e22\u0e32\u0e27() \u2013 2, \u0e04\u0e27\u0e32\u0e21\u0e22\u0e32\u0e27\u0e1a\u0e31\u0e1f());<br \/>\n        buff.\u0e1c\u0e19\u0e27\u0e01(\u201c]\u201d);<br \/>\n        \u0e01\u0e25\u0e31\u0e1a buff.toString();<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u0e41\u0e1b\u0e25\u0e07 [str] \u0e40\u0e1b\u0e47\u0e19 Unicode<br \/>\n     * @param str<br \/>\n     * @\u0e01\u0e25\u0e31\u0e1a<br \/>\n     *\/<br \/>\n    convUnicode \u0e2a\u0e15\u0e23\u0e34\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 (String str) {<br \/>\n        \u0e16\u0e49\u0e32 (str == null)<br \/>\n            \u0e01\u0e25\u0e31\u0e1a\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30;<br \/>\n        \u0e1e\u0e22\u0e32\u0e22\u0e32\u0e21 {<br \/>\n            \u0e04\u0e37\u0e19\u0e2a\u0e15\u0e23\u0e34\u0e07\u0e43\u0e2b\u0e21\u0e48 (str.getBytes (\u201c8859_1\u201d), \u201cJISAutoDetect\u201d);<br \/>\n        } \u0e08\u0e31\u0e1a (UnsupportedEncodingException e) {<br \/>\n            \u0e42\u0e22\u0e19 RuntimeException \u0e43\u0e2b\u0e21\u0e48 (e);<br \/>\n        }<br \/>\n    }<br \/>\n    \/\/ &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n    CustomFormatter \u0e04\u0e25\u0e32\u0e2a\u0e04\u0e07\u0e17\u0e35\u0e48\u0e02\u0e22\u0e32\u0e22\u0e15\u0e31\u0e27\u0e08\u0e31\u0e14\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a {<br \/>\n        \u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e2a\u0e15\u0e23\u0e34\u0e07\u0e2a\u0e38\u0e14\u0e17\u0e49\u0e32\u0e22\u0e04\u0e07\u0e17\u0e35\u0e48 = \u201cyyyy\/MM\/dd HH:mm:ss\u201d;<br \/>\n        \u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e2a\u0e15\u0e23\u0e34\u0e07\u0e17\u0e35\u0e48\u0e0b\u0e34\u0e07\u0e42\u0e04\u0e23\u0e44\u0e19\u0e0b\u0e4c\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 (\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 LogRecord) {<br \/>\n            StringBuffer buf = StringBuffer \u0e43\u0e2b\u0e21\u0e48 ();<br \/>\n            \/\/\u0e15\u0e31\u0e49\u0e07\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e41\u0e25\u0e30\u0e40\u0e27\u0e25\u0e32<br \/>\n            \u0e27\u0e31\u0e19\u0e17\u0e35\u0e48 \u0e27\u0e31\u0e19\u0e17\u0e35\u0e48 = \u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e21\u0e48 ();<br \/>\n            date.setTime(record.getMillis());<br \/>\n            \u0e15\u0e31\u0e27\u0e08\u0e31\u0e14\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a SimpleDateFormat = SimpleDateFormat \u0e43\u0e2b\u0e21\u0e48 (\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a);<br \/>\n            buf.append(formatter.format(\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48));<br \/>\n            buf.\u0e1c\u0e19\u0e27\u0e01(\u201c:\u201d);<br \/>\n            \/\/ \u0e01\u0e33\u0e2b\u0e19\u0e14\u0e23\u0e30\u0e14\u0e31\u0e1a<br \/>\n            buf.append(\u201c[\u201d + record.getLevel().getName() + \u201c]\u201d);<br \/>\n            buf.\u0e1c\u0e19\u0e27\u0e01(\u201c:\u201d);<br \/>\n            buf.\u0e1c\u0e19\u0e27\u0e01(record.getMessage());<br \/>\n            buf.\u0e1c\u0e19\u0e27\u0e01(LINE_SEPA);<br \/>\n            \u0e01\u0e25\u0e31\u0e1a buf.toString();<br \/>\n        }<br \/>\n    }<br \/>\n    CustomConsoleHandler \u0e04\u0e25\u0e32\u0e2a\u0e04\u0e07\u0e17\u0e35\u0e48\u0e02\u0e22\u0e32\u0e22 StreamHandler {<br \/>\n        CustomConsoleHandler \u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30 () {<br \/>\n            \u0e0b\u0e38\u0e1b\u0e40\u0e1b\u0e2d\u0e23\u0e4c();<br \/>\n            setOutputStream (System.out);<br \/>\n        }<br \/>\n        \/**<br \/>\n         * \u0e2d\u0e2d\u0e01 LogRecord<br \/>\n         * \u0e40\u0e23\u0e34\u0e48\u0e21\u0e41\u0e23\u0e01 \u0e04\u0e33\u0e02\u0e2d\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e08\u0e30\u0e16\u0e39\u0e01\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e2d\u0e2d\u0e1a\u0e40\u0e08\u0e47\u0e01\u0e15\u0e4c Logger<br \/>\n         * \u0e41\u0e25\u0e30\u0e27\u0e31\u0e15\u0e16\u0e38\u0e19\u0e35\u0e49\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19 LogRecord \u0e41\u0e25\u0e30<br \/>\n         *\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48<br \/>\n         *<br \/>\n         * @param record \u0e04\u0e33\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 \u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e06\u0e30\u0e08\u0e30\u0e16\u0e39\u0e01\u0e25\u0e30\u0e40\u0e27\u0e49\u0e19<br \/>\n         * \u0e41\u0e25\u0e30\u0e08\u0e30\u0e44\u0e21\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e01\u0e32\u0e23\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19<br \/>\n         *\/<br \/>\n        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e40\u0e1c\u0e22\u0e41\u0e1e\u0e23\u0e48 (\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 LogRecord) {<br \/>\n            super.publish(\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01);<br \/>\n            \u0e25\u0e49\u0e32\u0e07();<br \/>\n        }<br \/>\n        \/**<br \/>\n         * \u0e41\u0e17\u0e19\u0e17\u0e35\u0e48 StreamHandler.close \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e25\u0e49\u0e32\u0e07 \u0e41\u0e15\u0e48<br \/>\n         * \u0e2a\u0e15\u0e23\u0e35\u0e21\u0e40\u0e2d\u0e32\u0e17\u0e4c\u0e1e\u0e38\u0e15\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e1b\u0e34\u0e14 \u0e01\u0e25\u0e48\u0e32\u0e27\u0e2d\u0e35\u0e01\u0e19\u0e31\u0e22\u0e2b\u0e19\u0e36\u0e48\u0e07 System.err \u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e16\u0e39\u0e01\u0e1b\u0e34\u0e14<br \/>\n         *\/<br \/>\n        \u0e42\u0e21\u0e06\u0e30\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e1b\u0e34\u0e14 () {<br \/>\n            \u0e25\u0e49\u0e32\u0e07();<br \/>\n        }<br \/>\n    }<br \/>\n}<br \/>\n<\/textarea><\/p>","protected":false},"excerpt":{"rendered":"<p>\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e04\u0e33\u0e02\u0e2d HTTP \u0e14\u0e49\u0e27\u0e22\u0e15\u0e31\u0e27\u0e01\u0e23\u0e2d\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 Java \u0e43\u0e0a\u0e49 javax.servlet.Filter \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e04\u0e33\u0e02\u0e2d HTTP [\u2026]<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":""},"categories":[19],"tags":[],"_links":{"self":[{"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/posts\/910"}],"collection":[{"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/comments?post=910"}],"version-history":[{"count":5,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/posts\/910\/revisions"}],"predecessor-version":[{"id":1894,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/posts\/910\/revisions\/1894"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/media?parent=910"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/categories?post=910"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/th\/wp-json\/wp\/v2\/tags?post=910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}