|
9 | 9 | [ring.adapter.jetty :as jetty]) |
10 | 10 | (:import |
11 | 11 | (java.io ByteArrayInputStream InputStream) |
12 | | - (org.eclipse.jetty.server Server NCSARequestLog Connector HttpConnectionFactory) |
| 12 | + (org.eclipse.jetty.server Server CustomRequestLog Connector HttpConnectionFactory) |
13 | 13 | (org.eclipse.jetty.server.handler RequestLogHandler) |
14 | | - (org.eclipse.jetty.server.handler.gzip GzipHandler))) |
| 14 | + (org.eclipse.jetty.server.handler.gzip GzipHandler) |
| 15 | + (org.eclipse.jetty.server Slf4jRequestLogWriter))) |
15 | 16 |
|
16 | 17 | (def MIN_THREADS |
17 | 18 | "The minimum number of threads for Jetty to use to process requests. The was originally set to the |
18 | 19 | ring jetty adapter default of 8." |
19 | 20 | 8) |
20 | 21 |
|
| 22 | +(declare use-web-compression?) |
| 23 | +(defconfig use-web-compression? |
| 24 | + "Indicates whether the servers will use gzip compression. Disable this to |
| 25 | + make tcpmon usable" |
| 26 | + {:default true |
| 27 | + :type Boolean}) |
| 28 | + |
| 29 | +(declare use-access-log) |
| 30 | +(defconfig use-access-log |
| 31 | + "Indicates whether the servers will use the access log." |
| 32 | + {:default true |
| 33 | + :type Boolean}) |
| 34 | + |
21 | 35 | (declare MAX_THREADS) |
22 | 36 | (defconfig MAX_THREADS |
23 | 37 | "The maximum number of threads for Jetty to use to process requests. This was originally set to |
|
141 | 155 | application logging. As a result the access log entries will be in the same log as the |
142 | 156 | application log." |
143 | 157 | [existing-handler] |
144 | | - (doto (RequestLogHandler.) |
145 | | - (.setHandler existing-handler) |
146 | | - (.setRequestLog |
147 | | - (doto (NCSARequestLog.) |
148 | | - (.setLogLatency true) |
149 | | - (.setLogDateFormat "yyyy-MM-dd HH:mm:ss.SSS"))))) |
| 158 | + (let [log-writer (Slf4jRequestLogWriter.) |
| 159 | + log-format (str CustomRequestLog/EXTENDED_NCSA_FORMAT " %{yyyy-MM-dd HH:mm:ss.SSS}t")] |
| 160 | + (doto (RequestLogHandler.) |
| 161 | + (.setHandler existing-handler) |
| 162 | + (.setRequestLog |
| 163 | + (CustomRequestLog. log-writer log-format))))) |
150 | 164 |
|
151 | 165 | (defn- create-gzip-handler |
152 | 166 | "Setup gzip compression for responses. Compression will be used for any response larger than |
|
224 | 238 | "Creates a new web server. Accepts argument of port and a routes function that should accept |
225 | 239 | system argument and return compojure routes to use." |
226 | 240 | ([port routes-fn] |
227 | | - (create-web-server port routes-fn true true)) |
228 | | - ([port routes-fn use-compression use-access-log] |
| 241 | + (create-web-server port routes-fn use-web-compression? use-access-log)) |
| 242 | + ([port routes-fn use-compression use-access-log-opt] |
229 | 243 | (map->WebServer {:port port |
230 | 244 | :use-compression? use-compression |
231 | | - :use-access-log? use-access-log |
| 245 | + :use-access-log? use-access-log-opt |
232 | 246 | :routes-fn routes-fn}))) |
0 commit comments