Wed, 27 Apr 2016 01:27:09 +0800
Initial load
http://hg.openjdk.java.net/jdk8u/jdk8u/jaxws/
changeset: 657:d47a47f961ee
tag: jdk8u25-b17
1 /*
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
26 package com.sun.xml.internal.ws.dump;
28 import java.util.logging.Level;
29 import java.util.logging.Logger;
31 /**
32 *
33 * @author Marek Potociar <marek.potociar at sun.com>
34 */
35 final class MessageDumper {
37 static enum MessageType {
38 Request("Request message"),
39 Response("Response message"),
40 Exception("Response exception");
42 private final String name;
44 private MessageType(final String name) {
45 this.name = name;
46 }
48 @Override
49 public String toString() {
50 return name;
51 }
52 }
54 static enum ProcessingState {
55 Received("received"),
56 Processed("processed");
58 private final String name;
60 private ProcessingState(final String name) {
61 this.name = name;
62 }
64 @Override
65 public String toString() {
66 return name;
67 }
68 }
71 private final String tubeName;
72 private final Logger logger;
73 private Level loggingLevel;
76 public MessageDumper(String tubeName, Logger logger, Level loggingLevel) {
77 this.tubeName = tubeName;
78 this.logger = logger;
79 this.loggingLevel = loggingLevel;
80 }
82 final boolean isLoggable() {
83 return logger.isLoggable(loggingLevel);
84 }
86 final void setLoggingLevel(Level level) {
87 this.loggingLevel = level;
88 }
90 final String createLogMessage(MessageType messageType, ProcessingState processingState, int tubeId, String engineId, String message) {
91 return String.format("%s %s in Tube [ %s ] Instance [ %d ] Engine [ %s ] Thread [ %s ]:%n%s",
92 messageType,
93 processingState,
94 tubeName,
95 tubeId,
96 engineId,
97 Thread.currentThread().getName(),
98 message);
99 }
101 final String dump(MessageType messageType, ProcessingState processingState, String message, int tubeId, String engineId) {
102 String logMessage = createLogMessage(messageType, processingState, tubeId, engineId, message);
103 logger.log(loggingLevel, logMessage);
105 return logMessage;
106 }
107 }