| SystemLogger.java |
1 /**
2 * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3 *
4 *
5 *
6 *
7 * The contents of this file are subject to the terms of the Liferay Enterprise
8 * Subscription License ("License"). You may not use this file except in
9 * compliance with the License. You can obtain a copy of the License by
10 * contacting Liferay, Inc. See the License for the specific language governing
11 * permissions and limitations under the License, including but not limited to
12 * distribution rights of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 */
22
23 package com.liferay.util.ant;
24
25 import java.io.BufferedReader;
26 import java.io.IOException;
27 import java.io.StringReader;
28
29 import org.apache.tools.ant.BuildEvent;
30 import org.apache.tools.ant.DefaultLogger;
31 import org.apache.tools.ant.Project;
32 import org.apache.tools.ant.util.StringUtils;
33
34 /**
35 * <a href="SystemLogger.java.html"><b><i>View Source</i></b></a>
36 *
37 * @author Brian Wing Shun Chan
38 */
39 public class SystemLogger extends DefaultLogger {
40
41 public void messageLogged(BuildEvent event) {
42 int priority = event.getPriority();
43
44 if (priority <= msgOutputLevel) {
45 StringBuilder sb = new StringBuilder();
46
47 try {
48 BufferedReader reader = new BufferedReader(
49 new StringReader(event.getMessage()));
50
51 String line = reader.readLine();
52
53 boolean first = true;
54
55 while (line != null) {
56 if (!first) {
57 sb.append(StringUtils.LINE_SEP);
58 }
59
60 first = false;
61
62 sb.append(" ");
63 sb.append(line);
64
65 line = reader.readLine();
66 }
67 }
68 catch (IOException e) {
69 }
70
71 String msg = sb.toString();
72
73 if (priority != Project.MSG_ERR) {
74 printMessage(msg, out, priority);
75 }
76 else {
77 printMessage(msg, err, priority);
78 }
79
80 log(msg);
81 }
82 }
83
84 }