org.apache.axis2.util.LogWriter Maven / Gradle / Ivy
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.axis2.util;
import java.io.Writer;
import org.apache.commons.logging.Log;
/**
* {@link Writer} implementation that redirects to a logger.
*/
public class LogWriter extends Writer {
private final Log log;
private final String endOfLine;
private final StringBuffer lineBuffer = new StringBuffer();
private int endOfLineMatch;
public LogWriter(Log log, String endOfLine) {
this.log = log;
this.endOfLine = endOfLine;
}
public LogWriter(Log log) {
this(log, System.getProperty("line.separator"));
}
@Override
public void write(char[] cbuf, int off, int len) {
int start = off;
for (int i=off; i 0) {
flushLineBuffer();
}
}
@Override
public void flush() {
// Nothing to do
}
private void flushLineBuffer() {
log.info(lineBuffer.toString());
lineBuffer.setLength(0);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy